`

servlet生命周期--1

阅读更多
                                                        Servlet周期
        Servlet的生命周期一般分为四个阶段,Servlet的产生,初始化,调用Servlet方法,最后是对Servlet的销毁.标志这个Servlet生命周期的结束.
        1.Servlet的产生.
                一个Servlet的产生是因为客户端有一个request请求的过来.这样服务器会生产一个Servlet.而且一个Servlet只生成一次.即服务器只加载对于一种Servlet只会加载一次.
        在服务起内部首先会判断服务器的JVM是否已经加载了这个Servlet(内部是以这样的形式加载Class.forName("Servlet名字"),该方法加载这个类,并生成该类的实例.)
        如果没有就加载这个Servlet.若有,则直接跳过加载这步,进入初始化inti().
        2.Servlet的初始化inti()
                在加载一个Servlet后,服务器会自动调用inti()方法,默认的是调用有参的初始化方法
                public void inti(ServletCongfig config)throws ServletException{
                        this.config=config;
                        inti();
                }
                生成一个config.这样在之后Servlet方法中可以直接调用ServletConfig()的一些方法,而不必在前面加getServletConfig().getIntiParameter()来获得自己想要的初始化参数.
                2.1初始化方法的覆盖:
                我们在初始化某个Servlet的时候有两种方法
                        2.1.1 直接覆盖有参的inti方法.
                        当我们生成一个Servlet后,服务器会默认的调用有参的inti(),那么若我们覆盖了这个方法,服务器首先调用的就是我们覆盖后的inti(),不会去调用父类的初始化方法,这样就无法生成一个config.所以我们的这种方法方式覆盖,需要我们在覆盖的方法中调用父类的inti(),即super.inti(config).
                        2.1.2 覆盖无参的inti()方法
                        由上可知,生成一个Servlet,会自动调用有参的inti()方法,生成一个config.而在有参的inti()方法中,有调用了无参的inti(),那么我们只需要覆盖无参的inti()方法,并在里面添加我们需要的信息即可.这种方法较为简单,推荐使用这种方式.
            
              
分享到:
评论

相关推荐

    Servlet-Servlet生命周期

    ### Servlet生命周期详解 #### 一、引言 在Java Web开发中,Servlet作为一种重要的技术,被广泛应用于构建动态网页和处理客户端请求。了解Servlet的生命周期对于深入理解和掌握Servlet的工作机制至关重要。本文将...

    javax.servlet-api-3.1.0.jar

    此外,还包括了Servlet生命周期管理的接口,如Servlet、ServletConfig和ServletContainerInitializer,它们帮助服务器管理和加载Servlet实例。 在实际开发中,将`javax.servlet-api-3.1.0.jar`作为项目的依赖,可以...

    servlet-api-3.0.jar包

    9. **生命周期管理**:Servlet 3.0允许自定义Servlet、Filter和Listener的初始化和销毁逻辑,通过实现`ServletContextListener`接口中的相应方法。 `servlet.LICENSE.txt`文件通常包含了关于Servlet API 3.0的许可...

    javax.servlet jar包---解决找不到javax.servlet.*等问题

    5. **Servlet生命周期** - 初始化:当Servlet首次被请求或者在web.xml中配置了`load-on-startup`时,Servlet容器会调用Servlet的`init()`方法进行初始化。 - 服务:每当有新的请求到来,Servlet容器创建一个...

    servlet源码 servlet-api-src javax.servlet.Servlet源码

    通过阅读源码,我们可以理解Servlet API的工作机制,了解请求和响应对象的内部实现,以及容器如何管理Servlet的生命周期。这对于优化性能、调试问题以及自定义Servlet行为都非常有帮助。 在实际开发中,我们通常...

    Servlet 介绍 以及Servlet生命周期(详细)

    **Servlet生命周期** Servlet的生命周期可以分为三个主要阶段:初始化、服务和销毁。 1. **初始化阶段**: - 当Servlet首次被请求或者在web应用启动时,容器(如Tomcat)会加载Servlet类,并调用`init()`方法进行...

    SERVLET生命周期与JSP生命周期比较

    ### SERVLET生命周期与JSP生命周期比较 #### 一、引言 在现代Web开发中,Servlet和JSP是两种非常重要的技术,它们都属于Java EE平台的一部分,主要用于构建动态Web应用程序。这两种技术各有特点,但又紧密相关,...

    servlet生命周期详解

    初始化阶段是整个Servlet生命周期的第一个关键步骤,它标志着Servlet的开始。此阶段主要由以下步骤组成: 1. **Servlet容器加载Servlet类**:Servlet容器负责加载Servlet类,并将.Class文件的数据读入内存。这一...

    jakarta-servletapi-4-src.zip servlet源码

    在Servlet的生命周期中,`init()`方法在Servlet实例化后首次被调用,用于初始化Servlet;`service()`方法处理客户端请求;而`destroy()`方法在Servlet销毁前执行,用于释放资源。源码中,我们可以看到这些方法的具体...

    javax.servlet.jsp-api-2.3.2-b01.jar.zip

    如果在不同作用域(request, session, application)中设置,那么数据的可见性和生命周期也会相应地扩展。 **5. 版本2.3.2-b01** 这个特定的版本2.3.2-b01修复了一些已知问题和可能存在的安全漏洞,同时可能引入了...

    servlet生命周期演示代码

    ### Servlet 生命周期演示代码详解 #### 一、Servlet 生命周期概述 在深入分析代码之前,我们先来了解一下 Servlet 的生命周期。Servlet 的生命周期主要包括三个阶段:初始化 (`init` 方法)、请求处理 (`service` ...

    servlet-api-3.0-alpha-1.jar

    Servlet API 3.0-alpha-1.jar 是Java服务器端编程中的一个重要组件,它包含了用于开发和部署Web应用程序的标准接口和类。这个版本是Servlet规范3.0的早期预览版,为开发者提供了对新特性和改进的初步体验。在本文中...

    解读servlet生命周期

    Servlet生命周期是Java Web开发中一个关键的概念,它描述了Servlet从创建到销毁的整个过程,这个过程由Servlet容器(如Tomcat)进行管理。Servlet生命周期主要分为三个阶段:初始化阶段、运行阶段和销毁阶段。 1. ...

    Servlet生命周期

    ### Servlet 生命周期详解 #### 一、概述 Servlet 是 Java Web 开发的核心技术之一,用于处理客户端的 HTTP 请求并返回响应。了解 Servlet 的生命周期对于更好地控制和优化 Web 应用程序至关重要。Servlet 的生命...

    servlet-api-3.0.zip

    - 过滤器在Servlet生命周期中扮演重要角色,可以拦截请求和响应,执行预处理或后处理任务,例如字符编码转换、权限验证等。使用`@WebFilter`注解进行配置。 4. **监听器(Listener)**: - 监听器可以监听Web应用...

    servlet2.4api-javadoc 半中文

    10. **Servlet容器**:如Tomcat、Jetty等,它们负责加载、配置和管理Servlet,执行Servlet生命周期方法,并处理请求和响应。 11. **部署描述符(web.xml)**:Web应用的配置文件,定义Servlet、Filter和Listener,...

Global site tag (gtag.js) - Google Analytics