精华内容
下载资源
问答
  • Servlet生命周期

    2020-12-22 14:33:21
    Servlet生命周期Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:   Servlet 加载—>实例化—>服务—>销毁。   1.Servlet 通过调用 init () 方法进行初始化。 2....
  • Servlet 生命周期

    2017-06-17 15:39:55
    Servlet生命周期
    1. 加载Servlet class文件 (通过ClassLoader)
    2. 实例化 (New 对象,构造函数. 只有一个对象)
    3. 初始化 (init(ServletConfig). 只执行一次)
    4. 处理请求(service—doGet、doPost )
    5. 退出服务(destroy(). 退出webapplication时)
    展开全文
  • servlet生命周期

    2020-11-29 22:08:17
    servlet生命周期 Servlet 生命周期是从servlet被创建到被销毁的整个过程,以下是 Servlet 遵循的过程: 1.Servlet 初始化 init () 方法。 2.Servlet 调用 service() 方法来处理客户端的请求 3.Servlet 销毁 destroy...

    servlet生命周期

    Servlet 生命周期是从servlet被创建到被销毁的整个过程,以下是 Servlet 遵循的过程:

    1.Servlet 初始化 init () 方法。
    2.Servlet 调用 service() 方法来处理客户端的请求
    3.Servlet 销毁 destroy() 方法。

    最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。


    init()方法:

    init 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化。
    Servlet 创建于用户第一次调用对应于该 Servlet 的 URL 时,但是您也可以指定 Servlet 在服务器第一次启动时被加载。

    		@Override
    	public void init(ServletConfig config) throws ServletException {
    		// TODO Auto-generated method stub
    	}
    

    service() 方法:

    service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。
    service() 方法由容器调用,service 方法在适当的时候调用 doGet、doPost、doPut、doDelete 等方法。所以,您不用对 service() 方法做任何动作,您只需要根据来自客户端的请求类型来重写 doGet() 或 doPost() 即可。

    		@Override
    	public void service(ServletRequest request,ServletResponse response) 
          throws ServletException, IOException{
          // TODO Auto-generated method stub
    }
    

    service() 方法由容器调用,service 方法在适当的时候调用 doGet、doPost、doPut、doDelete 等方法。所以,您不用对 service() 方法做任何动作,您只需要根据来自客户端的请求类型来重写 doGet() 或 doPost() 即可。


    doGet()方法:

    GET 请求来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单,它由 doGet() 方法处理。

    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doPost(req, resp);
    	}
    

    doPost() 方法:

    POST 请求来自于一个特别指定了 METHOD 为 POST 的 HTML 表单,它由 doPost() 方法处理。

    			@Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		}
    

    destroy() 方法:

    destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。

    		@Override
    	public void destroy() {
    		// TODO Auto-generated method stub
    	}
    	}
    



    一个完整的实例代码如下:

    
    import java.io.IOException;
    import javax.servlet.*;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class Atest extends HttpServlet{
    
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    	@Override
    	public void init(ServletConfig config) throws ServletException {
    		// TODO Auto-generated method stub
    	}
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		
    		doPost(req, resp);
    	}
    	@Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		
    	}
    	@Override
    	public void destroy() {
    		// TODO Auto-generated method stub
    	}
    }
    
    

    构架图:

    这是博主参考菜鸟教程一网站所保存的:

    1.第一个到达服务器的 HTTP 请求被委派到 Servlet 容器。
    2.Servlet 容器在调用 service() 方法之前加载 Servlet。
    3.然后 Servlet 容器处理由多个线程产生的多个请求,每个线程执行一个单一的 Servlet 实例的 service()方法。

    Servlet 生命周期
    在这里插入图片描述


    参阅:

    [菜鸟教程](http://www.runoob.com/servlet)

    在这里插入图片描述

    展开全文
  • servlet 生命周期

    2019-03-03 17:46:29
    一、Servlet生命周期图: 二、Servlet生命周期简述 (1)加载和实例化 当Servlet容器启动或客户端发送一个请求时,Servlet容器会查找内存中是否存在该Servlet实例,若存在,则直接读取该实例响应请求;如果不存在,...

    一、Servlet生命周期图:

    在这里插入图片描述
    二、Servlet生命周期简述
    (1)加载和实例化

    当Servlet容器启动或客户端发送一个请求时,Servlet容器会查找内存中是否存在该Servlet实例,若存在,则直接读取该实例响应请求;如果不存在,就创建一个Servlet实例。

    (2) 初始化

    实例化后,Servlet容器将调用Servlet的init()方法进行初始化(一些准备工作或资源预加载工作)。

    (3)服务

    初始化后,Servlet处于能响应请求的就绪状态。当接收到客户端请求时,调用service()的方法处理客户端请求,HttpServlet的service()方法会根据不同的请求 转调不同的doXxx()方法。

    (4)销毁

    当Servlet容器关闭时,Servlet实例也随时销毁。其间,Servlet容器会调用Servlet 的destroy()方法去判断该Servlet是否应当被释放(或回收资源)。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,342
精华内容 4,536
关键字:

servlet生命周期