`

2.Servlet的生命周期

    博客分类:
  • JSP
阅读更多

1.通过程序代码我们可以看出Serlet的生命周期。代码如下:

package com.taoistwar.jsp.servlet;

import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author TaoistWar
 *
 */
@SuppressWarnings("serial")
public class TestLifeCycleServlet extends HttpServlet {
	
	public TestLifeCycleServlet() {
		super();
		System.out.println(" Construct");
	}
	
	@Override
	public void init(ServletConfig config) throws ServletException {
		System.out.println(" init");
	}

	@Override
	public void destroy() {
		System.out.println(" destory");
	}

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println(" method");	
	}

}

 运行结果为:

 Construct
 init
 method
 destory

 另外,Servlet采用的单例模式,也就是一个应用只会实例化一个对象。当再次调用Servlet时也就不会再次调用构造方法、init初始化方法。只有当服务器关闭时才会调用destory方法。

 

二:结论

     执行顺序为构造方法->init方法->doGet/doPost方法->destroy方法。因此,Servlet的整个生命周期为:加载、实例化、初始化、处理请求、退出请求

 

分享到:
评论

相关推荐

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

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

    javax.servlet.jar与javax.servlet.jsp.jar

    在Java Web开发中,`javax.servlet.jar`和`javax.servlet.jsp.jar`是两个非常重要的库文件,它们分别提供了...通过学习和实践Servlet和JSP,开发者可以更好地理解和控制Web应用的生命周期,从而提高代码质量和性能。

    javax.servlet.jar,javax.servlet.jsp.jar

    它定义了Servlet类和接口,如GenericServlet、HttpServlet,以及Servlet生命周期相关的接口如ServletConfig、ServletContext等。通过这些接口,开发者可以创建自定义的Servlet来接收、处理并响应客户端的请求。 ...

    javax.servlet-api-3.1.0.jar

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

    javax.servlet的jar包

    容器负责加载Servlet,管理Servlet生命周期,处理HTTP请求,并将结果返回给客户端。在部署Web应用时,通常会将这些jar包放在WEB-INF/lib目录下,由容器自动加载。 总之,javax.servlet的jar包是Java Web开发的基础...

    com.oreilly.servlet

    1. **Servlet生命周期**:Servlet有三个主要阶段:加载和实例化、初始化、服务和销毁。当Web服务器启动或第一次接收到对Servlet的请求时,会加载并实例化Servlet。然后调用`init()`方法进行初始化,`service()`方法...

    18.Servlet的生命周期.avi

    18.Servlet的生命周期.avi

    javax.servlet.jsp.tagext源码

    这个类提供了一组方法,帮助开发者处理标签的生命周期,包括初始化、执行和清理阶段。例如: 1. `doStartTag()`: 这个方法在标签开始时被调用,通常用于设置标签的属性或初始化变量。 2. `doEndTag()`: 当标签结束...

    servlet生命周期演示代码

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

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

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

    Java面试题18.Servlet的生命周期.mp4

    Java面试题18.Servlet的生命周期.mp4

    java servlet src源码包 javax.servlet.* javax.servlet.http.* javax.servlet.jsp.*

    在深入研究源码时,可以了解到这些类和接口的内部实现细节,比如Servlet的生命周期管理,请求和响应的处理流程,以及JSP的编译和执行机制。这有助于开发者更好地理解Servlet和JSP的工作原理,提高Web应用的开发和...

    javax.servlet 包说明

    8. **Servlet生命周期**:Servlet的生命周期包括加载和初始化、服务、以及最终的销毁。这些阶段由Web容器控制,开发者可以通过重写`init()`, `service()`, 和 `destroy()`方法来定制行为。 9. **Servlet容器**:...

    Servlet-Servlet生命周期

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

    javax.servlet帮助文档

    2. **Servlet生命周期**: Servlet有三个主要阶段:加载与实例化、初始化和销毁。在首次请求时,服务器会加载并实例化Servlet,然后调用`init()`方法进行初始化。每次请求都会调用`service()`方法,最后当服务器关闭...

    javax.servlet.jar包

    **Servlet生命周期** Servlet的生命周期包括加载、初始化、服务和销毁四个阶段。当Web容器启动或第一次收到对Servlet的请求时,Servlet会被加载并初始化。然后,每当有请求到达,Servlet会处理服务请求。最后,当Web...

    javax.servlet3.0 javax.servlet_jsp2.0源码

    同时,Servlet 3.0引入了监听器(Listeners),如ServletContextListener,用于在Web应用的生命周期事件中执行特定操作。 **JavaServer Pages(JSP)2.0**: JSP 2.0是JSP技术的一个升级,它强化了与Servlet 2.4的...

    java.servlet.jar

    1. **Servlet接口**:这是所有Servlet的基础,定义了`init()`, `service()`, `destroy()`等生命周期方法,用于初始化Servlet、处理请求和销毁Servlet实例。 2. **HttpServlet类**:继承自Servlet,提供了处理HTTP...

    javax.servlet源码

    `destroy()`方法在Servlet生命周期结束时调用,用于清理资源。 2. **GenericServlet类**:这是一个抽象类,实现了Servlet接口,提供了通用的生命周期方法实现,但`service()`方法是抽象的,需要子类重写以处理特定...

Global site tag (gtag.js) - Google Analytics