2020-10-21

1.servlet容器,主要负责管理一组servlet、jsp等的生命周期

2.servlet就是一个普通类,只是这个类比较特殊,可以在浏览器上运行
(1)第一步:实现Servlet接口,重写里面的方法
(2)第二步:在web.xml中注册和映射servlet


```java
<!--配置和映射servlet-->
    <!--注册一个servlet-->
    <servlet>
        <!--注册名-->
        <servlet-name>hello</servlet-name>
        <!--servlet的原路径-->
        <servlet-class>com.hpe.servlet.HelloServlet</servlet-class>
    </servlet>

    <!--映射servlet-->
    <servlet-mapping>
        <!--必须和注册名一致-->
        <servlet-name>hello</servlet-name>
        <!--浏览器的访问路径   /:代表的是当前web应用的根目录 :localhost:8080/servlet01-->
        <url-pattern>/hello</url-pattern>
        <!--http://localhost:8080/hello-->
    </servlet-mapping>


3.servlet的生命周期,都是由servlet容器进行调用和执行的
(1),构造方法:当第一次加载servlet的时候执行,执行一次,作用就是创建servlet实例,说明servlet是单例的
(2)init:当第一次加载servlet的时候执行,执行一次,作用就初始化servlet
(3)service:每次请求servlet都会调用该方法,用户获取用户请求(request)和响应结果(response)
(4)destroy:当web项目卸载或者服务器关闭的时候调用,执行一次,作用:释放servlet资源

4.load-on-startup:可以指定servlet的创建时机,如果是正数或者0,当服务器加载当前项目的时候创建servlet和
执行初始化,数值越小越早创建。如果是负数,第一次请求servlet的时候创建servlet和执行初始化

5.ServletConfig:代表是当前servlet,可以通过这个接口的方法获取当前servlet所有信息,包括配置信息,可以
获取ServletContext对象
getInitParameter():根据初始化参数名获取初始化参数值,需要配置初始化参数

```java
<!--初始化参数-->
        <init-param>
            <param-name>username</param-name>
            <param-value>root</param-value>
        </init-param>
        <init-param>
            <param-name>pwd</param-name>
            <param-value>123456</param-value>
        </init-param>

getInitParameterNames():获取所有初始化参数名
getServletName:获取当前servlet的注册名
getServletContext:创建ServletContext对象 常用

6.实现servlet第二种方式,继承GenericServlet
(1).是一个抽象类,这个类同时实现servlet和servletconfig接口,其中service是一个抽象方法
(2)在GenericServlet里面定义了一个全部变量servletconfig,并且在init方法里面对全局变量servletconfig进行初始化
(3)使用全局变量servletconfig实现了ServletConfig接口里面的所有方法
(4)还单独定义了一个重载的init()方法,他不是生命周期相关的方法,如果子类想在初始化的时候完成一些特殊的操作,
子类可以重写这个init方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值