java EE :Servlet 接口

Servlet 生命周期  :

  • 调用当前 Servlet 类构造函数进行实例化
  • Servlet 通过调用 init () 方法进行初始化
  • Servlet 调用 service() 方法来处理客户端的请求
  • Servlet 通过调用 destroy() 方法终止(结束)
  • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的

Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类。Web 应用程序开发人员通常编写 Servlet 来扩展 javax.servlet.http.HttpServlet,并实现 Servlet 接口的抽象类专门用来处理 HTTP 请求。( javax.servlet.Servlet 接口、java.servlet.GenericSerlvet 抽象类、java.servlet.Http.HttpServlet 抽象类)

package javax.servlet;

import java.io.IOException;

public interface Servlet {

//Servlet 实例初始化完成后 (Servlet 为单实例,仅包含一个实例),将进入 init 函数,并且只执行一次
void init(ServletConfig var1) throws ServletException;
// 获取 ServletConfig 对象,该对象包括当前 Servlet 实例相关信息 ServletConfig getServletConfig();
//任何一次请求,都将进入 service 方法
void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException; String getServletInfo();
// 当 tomacat 关闭时,将执行该方法
void destroy(); }
ServletDemo 类实现 java.servlet.Servlet 接口:
import javax.servlet.*;
import java.io.IOException;

public class ServletDemo implements Servlet {

    private transient ServletConfig servletConfig;

    public ServletDemo() {
        System.out.println("constructor");
        System.out.println(this.hashCode());
    }

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        this.servletConfig = servletConfig;
        System.out.println("init");
    }

    @Override
    public ServletConfig getServletConfig() {
        return this.servletConfig;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println(this.hashCode());
    }

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

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

猜你喜欢

转载自www.cnblogs.com/Lumia1020/p/9803713.html