Servlet概述

Servlet(Server applet)

概念

运行在web服务器端的程序,它是作为来自web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则

更多内容

入门

  1. 创建JavaEE项目
  2. 定义一个类,实现Servlet接口
  3. 实现接口中的抽象方法
  4. 配置Servlet
1
2
3
4
5
6
7
8
9
10
<!--配置Servlet-->
<servlet>
<servlet-name>demo</servlet-name>
<servlet-class>yolin.ServletDemo1</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>demo</servlet-name>
<url-pattern>/demo</url-pattern>
</servlet-mapping>

执行原理

  1. 当服务器接收到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
  2. 查找web.xml文件,是否有对应的标签体内容
  3. 如果有,则再找到对应的全类名
  4. tomcat会将字节码文件加载进内存,并且创建其对象
  5. 调用其方法

Servlet生命周期

  1. 被创建:执行init方法,只执行一次

    默认情况下,第一次被访问时Servlet被创建,也可以配置执行servlet的创建时机

    ①. 第一次访问时,创建(默认)值为负数
    ②. 在服务器启动时创建,值为0或正整数

    1
    2
    3
    4
    5
    <servlet>
    <servlet-name>demo</servlet-name>
    <servlet-class>yolin.ServletDemo1</servlet-class>
    <load-on-startup>5</load-on-startup>
    </servlet>
  2. 提供服务:执行service方法,执行多次

  3. 被销毁:执行destroy方法,只执行一次

Servlet体系结构

 Servlet  -- 接口
    |
GenericServlet -- 抽象类
    |
HttpServlet  -- 抽象类
  1. GenericServlet

    将Servlet接口中其他方法做了默认空实现,只将service() 方法作为抽象。将来定义Servlet类时,可以继承GenericServlet,实现service() 方法即可

  2. HttpServlet

    对http协议的一种封装,简化操作(不然我们还要自己判断浏览器发送数据的方式进行操作)

操作

    1. 定义类继承HttpServlet
    2. 复写doGet/doPost方法

Servlet相关配置

urlpartten:Servlet访问路径

1. 一个Servlet可以定义多个访问路径:@webServlet({"/jin","/jinn","/jinnn"})
2.路径定义规则:
    ① /xxx
    ② 多层路径:/xxx/xxx
    ③ *.do

请我喝杯咖啡吧~

支付宝
微信