首页 > 其他分享 >Servlet_生命周期详解和Servlet_3.0注解配置

Servlet_生命周期详解和Servlet_3.0注解配置

时间:2022-12-06 20:00:45浏览次数:46  
标签:创建 详解 3.0 Override 注解 执行 Servlet public

Servlet_生命周期详解:

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

 Servlet什么时候被创建?

   默认情况下,第一次被访问时,Servlet被创建

   可以配置执行Servlet的创建时机

     在<servlet>标签下配置  

     1.第一次被访问时,创建

       <load-on-startup>的值为负数

     2.在服务器启动时,创建     

       <load-on-startup>的值为0或正整数

    <!-- 配置Servlet -->
    <servlet>
        <servlet-name>demo2</servlet-name>
        <servlet-class>com.example.web.servlet.ServletDemo2</servlet-class>
<!--        执行Servlet的创建时机
                1.第一次被访问时,创建
                       <load-on-startup>的值为负数
                2.在服务器启动时,创建
                       <load-on-startup>的值为0或正整数
-->
        <load-on-startup></load-on-startup>
    </servlet>

    <!-- 映射 -->
    <servlet-mapping>
        <servlet-name>demo2</servlet-name>
        <url-pattern>/demo2</url-pattern>
    </servlet-mapping>

Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的

 多个用户同时访问时,可能存在线程安全问题

   解决:尽量不要在Servlet中定义成员变量,即使定义了成员变量,也不要对修改值

2.提供服务:执行service方法,每次访问执行一次

 每次访问Servlet时,Servlet方法都会被调用一次

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

 Servlet被销毁是执行。服务器关闭时,Servlet被销毁

 只有服务器正常关闭时,才会执行destroy方法

 

 

 

 

 

Servlet_3.0注解配置:

好处:

 支持注解配置,可以不需要web.xml了

步骤:

 1.创建JavaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml

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

 3.复写方法

 4.在类上使用@WebServlet注解,进行配置

     @WebServlet("资源路径")

@WebServlet("/demo")
public class ServletDemo3 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("Servlet3.0来了...");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

 

标签:创建,详解,3.0,Override,注解,执行,Servlet,public
From: https://www.cnblogs.com/hungui/p/16960346.html

相关文章

  • Postman数据驱动详解
    数据驱动(读取外部数据)相同的测试脚本使用不同的测试数据,数据的改变从而驱动自动化的执行,最终引起测试结果的改变步骤:1.执行单条接口用例,观察请求、响应格式。方便编写......
  • 详解redis网络IO模型
    前言"redis是单线程的"这句话我们耳熟能详。但它有一定的前提,redis整个服务不可能只用到一个线程完成所有工作,它还有持久化、key过期删除、集群管理等其它模块,redis会通......
  • sb3.0+polaris-server(北极星) 20221206
    1、polaris-server(北极星)安装(windows版本) 1)、安装前准备    安装golanggolang官网:https://golang.google.cn/golang下载地址:https://golang.google.cn/dl/......
  • Backbone 网络-ResNet v2 详解
    目录目录目录前言摘要1、介绍2、深度残差网络的分析3、OntheImportanceofIdentitySkipConnection4、OntheUsageofActivationFunctions4.1、ExperimentsonAc......
  • ServletRequest接口
    WEB-INF目录WEB-INF目录下的资源是受保护的,在浏览器上不能通过路径直接访问,所以HTML,CSS,JS,image等一些静态资源一定放到WEB-INF之外。ServletRequest接口HttpServle......
  • Linux下的压缩解压缩命令详解
    1.zip-rmyfile.zip./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.2.unzipunzip-o-d/home/sunnymyfile.zip......
  • Pixhawk控制电机命令pwm源码详解
    在用USB转串口连接好飞控板之后,可以在终端使用命令pwm来进行设置pwm的输出值例如:命令nsh>pwmtest–c13–p1200该命令用来测试通道1和3,并将他们的输出值设定为1200us。p......
  • 设计模式六大原则详解
    引言对于设计模式,自己很早之前就看了好多本设计模式书籍,其中一些还看了好几遍,也一直希望自己能在编码的时候把这些设计模式用上去。可是,在日常的打码中,用的做多的就是单例......
  • 对graalvm、springboot3.0一些新特性的探究
    环境:系统:IntelcoreMacVentura13.0.1工具: Idea:2022.2.3 gradle:7.4(idea自带的)  openjdk:version"17.0.5"2022-10-18 graalvm: CE22.3.0 ......
  • Android中的dumpsys命令详解
    1、命令说明dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息命令格式:adbshelldumpsys[systemserbices]2、系统服务查询如果直接运行adbshelld......