`
BabyDuncan
  • 浏览: 584342 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

实验证明Servlet生命周期

阅读更多
根据上过一篇日志的内容,测试Servlet生命周期内各个函数的执行顺序。
后台打印结果如下:
信息: Server startup in 1078 ms
postConstruct!
init!
get!
2011-1-10 17:16:21 org.apache.coyote.http11.Http11Protocol pause
信息: Pausing Coyote HTTP/1.1 on http-8080
2011-1-10 17:16:22 org.apache.catalina.core.StandardService stop
信息: Stopping service Catalina
destory!
preDestory!
2011-1-10 17:16:22 org.apache.coyote.http11.Http11Protocol destroy
信息: Stopping Coyote HTTP/1.1 on http-8080

测试代码:
import java.io.IOException;
import java.io.PrintWriter;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class testSequence extends HttpServlet {

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		//super.destroy(); // Just puts "destroy" string in log
		// Put your code here
		System.out.println("destory!");
	}

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out
				.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		out.print("    This is ");
		out.print(this.getClass());
		out.println(", using the GET method");
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
		
		System.out.println("get!");
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out
				.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		out.print("    This is ");
		out.print(this.getClass());
		out.println(", using the POST method");
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
		
		System.out.println("post!");
	}

	/**
	 * Initialization of the servlet. <br>
	 *
	 * @throws ServletException if an error occurs
	 */
	public void init() throws ServletException {
		// Put your code here
		System.out.println("init!");
	}
	
	public @PostConstruct void printAline(){
		System.out.println("postConstruct!");
	}

	public @PreDestroy void printSecondLine(){
		System.out.println("preDestory!");
	}
}
分享到:
评论
2 楼 BabyDuncan 2011-01-15  
uule 写道
哥们,这是什么东东?@PostConstruct

我觉得你可以理解为对这个函数的修饰符。
1 楼 uule 2011-01-15  
哥们,这是什么东东?@PostConstruct

相关推荐

    Servlet-Servlet生命周期

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

    servlet生命周期详解

    ### Servlet 生命周期详解 #### 初始化阶段 初始化阶段是整个Servlet生命周期的第一个关键步骤,它标志着Servlet的开始。此阶段主要由以下步骤组成: 1. **Servlet容器加载Servlet类**:Servlet容器负责加载...

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

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

    servlet生命周期演示代码

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

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

    在本文中,我们将深入探讨Servlet的概念、工作原理以及其生命周期的详细过程。 Servlet是一个可重用的Java类,它扩展了Java平台的能力,使得开发者能够创建能够与Web服务器交互的应用程序。Servlet主要负责接收HTTP...

    解读servlet生命周期

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

    java servlet生命周期

    java servlet生命周期 java servlet生命周期

    Servlet生命周期

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

    servlet生命周期详细图解(矢量图)

    servlet生命周期详细图解,矢量图。 详细的解释请参考本人博客:http://blog.csdn.net/dwyers/article/details/38435949

    servlet生命周期和模版设计模式

    Servlet生命周期和模板设计模式是Java Web开发中的两个关键概念,它们在构建动态Web应用程序时起着至关重要的作用。 首先,让我们深入理解Servlet的生命周期。Servlet是Java编程语言中的一种接口,用于扩展服务器的...

    Servlet生命周期示意图

    关于对Servlet声明周期的图例示意!

    Servlet 生命周期.pdf

    Servlet 生命周期 Servlet 生命周期是指从创建到销毁的整个过程。Servlet 生命周期可以被定义为init()方法、service()方法和destroy()方法三个阶段。 init()方法是在Servlet第一次创建时被调用的。init()方法简单...

    servlet生命周期

    ### Servlet 生命周期详解 #### 一、概述 Servlet作为Java Web开发中的重要组成部分,主要用于处理客户端发送至服务器端的HTTP请求并生成相应的响应结果。Servlet的生命周期主要包括实例化、初始化、服务(即处理...

    Java WEB 篇七 Servlet 生命周期.xmind

    Java WEB 篇七 Servlet 生命周期

    Servlet笔记,servlet生命周期、定义

    Servlet的生命周期指的是从创建到销毁的过程。这个过程包括以下几个阶段: 1. 初始化阶段:通过调用init()方法来完成,这个方法在Servlet创建后被调用一次。 2. 处理请求阶段:通过调用service()方法处理客户端请求...

    说一说servlet的生命周期

    Servlet的生命周期由四个主要阶段组成:加载和实例化、初始化、服务以及销毁。接下来,我们将详细探讨每个阶段。 1. **加载和实例化**: 当服务器启动或者用户首次发起对Servlet的请求时,如果服务器中还没有...

Global site tag (gtag.js) - Google Analytics