Servlet 生命周期

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
 * 第一个Servlet程序
 * 使用哪个Servlet就在哪个Servlet中写下注释
 * 生命周期:init-->service-->destroy
 * 执行流程:构造器-->init方法--> 循环[ service方法 ]-->destory方法(正常关闭Tomcat)
 *   ①构造器先执行 创建Servlet对象:init,service,destory方法,都是非static方法,都得使用对象调用.
 *   ②一个Servlet类在整个生命周期中最多只有一个对象.
 *   ③init在构造器执行之后,立马执行,只执行一次,为对象做初始化操作.
 *   ④service方法在每次请求都会执行.
 *   ⑤destroy方法只有在正常关闭Tomcat时,才会执行,不要期望该方法一定执行,不要在该方法编写扫尾操作.
 *   ⑥Servlet类必须使用public修饰,Servlet的构造器,必须是公共无参数的.
 * 
 */
public class HelloServlet implements Servlet {

    @Override  //销毁方法
    public void destroy() {
        // TODO Auto-generated method stub
        System.out.println("===正常关闭Tomcat时销毁===");
    }

    @Override  //返回当前Servlet的配置信息对象
    public ServletConfig getServletConfig() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override  //该方法返回Servlet的信息(作者、版权等)
    public String getServletInfo() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override  //初始化方法  (注意:在第一次请求时调用,且只在最初的时候调用一次)
    public void init(ServletConfig arg0) throws ServletException {
        // TODO Auto-generated method stub
        System.out.println("===初始化===");
    }

    @Override  //服务方法:Servlet运行service   
    public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("===第一个Servlet程序===");
    }

}
<!-- 配置Servlet 指向web程序中的哪一个Servlet -->
  <servlet>
      <servlet-name>HelloServlet</servlet-name>
      <servlet-class>com.HelloServlet</servlet-class>
  </servlet>
  <!-- 配置映射路径 -->
  <servlet-mapping>
      <servlet-name>HelloServlet</servlet-name>
      <url-pattern>/HelloServlet</url-pattern>
  </servlet-mapping>
//导入必需的 java 库
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

//扩展 HttpServlet 类
public class HelloWorld extends HttpServlet {

private String message;

public void init() throws ServletException
{
   // 执行必需的初始化
   message = "Hello World";
}

public void doGet(HttpServletRequest request,
                 HttpServletResponse response)
         throws ServletException, IOException
{
   // 设置响应内容类型
   response.setContentType("text/html");

   // 实际的逻辑是在这里
   PrintWriter out = response.getWriter();
   out.println("<h1>" + message + "</h1>");
}

public void destroy()
{
   // 什么也不做
}
}
<servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>com.HelloWorld</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>

内容来源网络,仅做学习之用

!注意:创建的是servlet

posted @ 2018-12-18 15:35  会心微笑lzy  阅读(120)  评论(0)    收藏  举报