一、Servlet 技术

  1、概念

      Servlet:server applet,是指运行在服务器端的小程序。

       Servlet 就是 JavaEE 规范之一。(规范就是接口)

       Servlet 就是 JavaWeb 三大组件之一。(三大组件分别是:Servlet程序、Filter 过滤器、Listener监听器)

     Servlet 就是运行在服务器上的一个 Java 小程序。(它可以接收客户端发送过来的请求,并响应数据给客户端)

  2、Servlet

       servlet 就是一个接口,定义了 Java 类被浏览器访问到(Tomcat识别)的规则。

    

二、Servlet 入门案例

   手动实现 Servlet 程序:

    (1)编写一个类去实现 Servlet 接口;

    (2)实现 service 方法,处理请求,并响应数据;

    (3)到 web.xml 中去配置 servlet 程序的访问地址;

  1、入门案例

    (1)创建 JavaEE 项目

    (2)定义一个类,实现 Servlet 接口

public class ServletDemo1 implements Servlet

    (3)实现接口中的抽象方法

 import javax.servlet.*;
import java.io.IOException; public class ServletDemo1 implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException { } @Override
public ServletConfig getServletConfig() {
return null;
} @Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    System.out.println("Hello Servlet被访问了");
} @Override
public String getServletInfo() {
return null;
} @Override
public void destroy() { }
}

    (4)配置servlet

      在 web.xml 里面配置

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"> <!--配置servlet-->
<servlet>
<!--servlet名称-->
<servlet-name>demo1</servlet-name>
<!--servlet全类名-->
<servlet-class>cn.ks.web.servlet.ServletDemo1</servlet-class>
</servlet> <servlet-mapping>
<!--servlet名称-->
<servlet-name>demo1</servlet-name>
<!--映射路径-->
<url-pattern>/demo1</url-pattern>
</servlet-mapping> </web-app>

    Demo:

    

  2、配置 xml 常见错误

    (1)错误1:url-pattern 中配置的路径没有以斜杠开头。

      

    (2)错误2:servlet-name 写错了,配置的值不存在。

              

    (3)错误3:servlet-class 标签的全类名配置错误。

三、执行原理(url如何访问到Servlet程序)

    (1)当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径

    (2)查找 web.xml 文件,是否有对应的<url-pattern>标签体内容。

    (3)如果有,则在找到对应的<servlet-class>全类名

    (4)Tomcat会将字节码文件加载进内存,并且创建其对象

    (5)调用其方法

     示意图:

             

最新文章

  1. 1.oracle 12c基础
  2. des解密不完整,前面几位是乱码的解决办法
  3. [POJ3277]City Horizon
  4. C#一维数组
  5. Asp.net MVC 中超链接的三个方法及比较
  6. iOS:抽屉侧滑动画两种形式(1、UIView侧滑 2、ViewController侧滑)
  7. 使用导入导出进行备份和恢复OCR(10g)
  8. 全新 D 系列虚拟机型号
  9. MyEclipse 8.0注冊码+原版下载_Java开发软件
  10. EE就业最好的方向是转CS,其次是VLSI/ASIC DESIGN &amp; VERIFICATION
  11. hibernate 持久化对象的生命周期 2.1
  12. ajaxSubmit提交文件表单不执行success
  13. DB数据导出工具分享
  14. LeetCode315—Count of Smaller Numbers After Self—Java版归并算法
  15. C语言应用程序的内存图
  16. Linux之文件属性
  17. HDU 3416 Marriage Match IV 【最短路】(记录路径)+【最大流】
  18. Emmet.vim 教程
  19. 关于redis集群的问题no reachable node in cluster
  20. 力扣(LeetCode) 217. 存在重复元素

热门文章

  1. IntelliJ IDEA Check out from git
  2. 轻量级Web服务器http-server
  3. 必须要注意的 C++ 动态内存资源管理(一)——视资源为对象
  4. Hadoop YARN:调度性能优化实践(转)
  5. IFC文件介绍
  6. [05]Go设计模式:建造者模式(Builder Pattern)
  7. Python MySQLdb 学习总结(转)
  8. 题解 Luogu P3959 【宝藏】
  9. linux系统状态脚本
  10. xorm - Update,乐观锁,更新时间updated,NoAutoTime()