美文网首页
Servlet生命周期

Servlet生命周期

作者: KaveeDJ | 来源:发表于2019-04-08 16:08 被阅读0次

一个Servlet的生命周期由实例化,初始化,提供服务,销毁,被回收几个步骤组成。

实例化

  • 当用户通过浏览器输入一个路径,这个路径对应的servlet被调用的时候,该Servlet就会被实例化


    image.png
  • 无论访问了多少次LoginServlet,构造方法只会执行一次,所以Servlet是单例的

初始化

  • LoginServlet继承了HttpServlet,同时也继承了init(ServletConfig)方法
  • init初始化也只会执行一次
  • 代码如下
import java.io.IOException;
import java.io.PrintWriter;

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

public class LoginServlet extends HttpServlet {
    
    public LoginServlet() {
        System.out.println( "LoginServlet 构造方法 被调用");
    }
    
    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("init(ServletConfig)");
    }
    
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        
        String name = req.getParameter("name");
        String password = req.getParameter("password");
        
        String html = null;
        
        if ("admin".equals(name) && "123".equals(password)) {
            html = "<div style='color:green'>登录成功</div>";
        } else {
            html = "<div style='color:red'>登录失败</div>";
        }
        
        resp.setContentType("text/html; charset=UTF-8");
        resp.getWriter().println(html);
    }
}

  • 效果如下


    image.png

提供服务

  • 执行service方法,然后决定doGet,还是doPost
  • 处理具体的业务

销毁

  • web应用重启的时候回调用destroy
  • 关闭tomcat的时候,destroy会被调用

被回收

  • 当该Servlet被销毁后,就满足垃圾回收的条件了
  • 当下一次垃圾回收GC来临的时候,就有可能被回收

相关文章

  • Servlet入门(二)

    Servlet生命周期 Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期...

  • servlet生命周期及实现原理

    Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。 Servlet生命周期分为...

  • Servlet 工作原理

    Servlet 生命周期 Servlet 生命周期:Servlet加载--->实例化--->服务--->销毁。 i...

  • java面试和笔试(四)

    61、servlet的生命周期 web容器加载servlet,生命周期开始。通过调用servlet的init()方...

  • 框架知识

    框架知识→ Servlet生命周期Servlet_生命周期:首先加载servlet的class,实例化servle...

  • Servlet生命周期

    Servlet 生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循...

  • Servlet生命周期

    Servlet生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的...

  • J2EE--Servlet

    什么是Servlet? 如何使用Servler? Servlet生命周期 Servlet方法体系 Servlet3...

  • Servlet的生命周期

    Servlet 生命周期:Servlet 加载—->实例化—->服务—->销毁。 init():在Servlet的...

  • servlet学习(二):servlet的生命周期

    Servlet 生命周期指的是,Servlet 对象的创建、Servlet 对象的初始化、Servlet 对象服 ...

网友评论

      本文标题:Servlet生命周期

      本文链接:https://www.haomeiwen.com/subject/jgfpiqtx.html