精华内容
下载资源
问答
  • 简述servlet生命周期
    万次阅读 多人点赞
    2018-05-27 22:49:50

    servlet的生命周期分为四个阶段:1:实例化    2:初始化    3:处理请求服务    4:对象销毁

    servlet在第一次被访问就会实例化一个servlet对象,然后立即调用init方法初始化对象,创建后的servlet对象会一直驻留在服务器内部,为后续的请问提供服务,只要有请求访问servlet,服务就会调用service方法处理请求,直到服务器关闭或web项目被移除,随着web应用的销毁,servlet也就被销毁,在销毁之前会调用destroy方法进行善后处理。

    更多相关内容
  • 简述servlet生命周期

    2019-06-26 16:02:55
    servlet生命周期 主要有三个方法: init()初始化阶段 service()处理客户端请求阶段 destroy()终止阶段 初始化阶段: Servlet容器加载Servlet,加载完成后,Servlet容器会创建一个Servlet实例并调用init()方法,init...

    servlet生命周期

    主要有三个方法:

    init()初始化阶段
    service()处理客户端请求阶段
    destroy()终止阶段
    

    初始化阶段:

    Servlet容器加载Servlet,加载完成后,Servlet容器会创建一个Servlet实例并调用init()方法,init()方法只会调用一次
    Servlet容器会在一下几种情况装载Servlet:

    Servlet容器启动时自动装载某些servlet,实现这个需要在web.xml文件中添加1
    在Servlet容器启动后,客户首次向Servlet发送请求
    Servlet类文件被更新后,重新装载

    处理客户端请求阶段:

    每收到一个客户端请求,服务器就会产生一个新的线程去处理。
    对于用户的Servlet请求,Servlet容器会创建一个特定于请求的ServletRequest和ServletResponse。
    对于tomcat来说,它会将传递来的参数放入一个HashTable中,这是一个String–>String[]的键值映射

    终止阶段:

    当web应用被终止,或者Servlet容器终止运行,或者Servlet重新装载Servlet新实例时,Servlet容器会调用Servlet的destroy()方法

    servlet的工作原理

    客户发送一个请求,Servlet调用service()方法对请求进行响应,service()方法会对请求的方法进行匹配,进入相应的逻辑层,完成请求的响应。

    但是Servlet接口和GenericServlet接口中没有doGet(),doPost()等方法,HttpServlet中定义了这些,但是返回的都是Error信息,所以每次定义Servlet都要重写这些方法。

    Sertvlet和GenericServlet是不特定于任何协议的,而HttpServlet是特定于Http协议的,所以HttpServlet中的service()方法中将ServletRequest,ServletResponse强转为HttpRequest和HttpResponse,最后调用自己的service方法去完成响应。

    展开全文
  • 简述Servlet生命周期

    2018-07-07 12:38:00
    1)在Servlet生命周期的初始化阶段,web容器通过调用init()方法来初始化Servlet实例,并且可以传递一个实现 javax.servlet.ServletConfig 接口的对象给它。这个配置对象(configuration object)使Servlet能够读取在...

    Servlet生命周期的三个核心方法分别是 init() , service() 和 destroy()。每个Servlet都会实现这些方法,并且在特定的运行时间调用它们。

    1)在Servlet生命周期的初始化阶段,web容器通过调用init()方法来初始化Servlet实例,并且可以传递一个实现 javax.servlet.ServletConfig 接口的对象给它。这个配置对象(configuration object)使Servlet能够读取在web应用的web.xml文件里定义的名值(name-value)初始参数。这个方法在Servlet实例的生命周期里只调用一次。

    9cf6993c572091e737d13f353a78a2a1bd4.jpg

    2)初始化后,Servlet实例就可以处理客户端请求了。web容器调用Servlet的service()方法来处理每一个请求。service() 方法定义了能够处理的请求类型并且调用适当方法来处理这些请求。编写Servlet的开发者必须为这些方法提供实现。如果发出一个Servlet没实现的请求,那么父类的方法就会被调用并且通常会给请求方(requester)返回一个错误信息。

    通常,我们不需要重写(override)这个方法。

    cdd263935e242603ccf97b6ad61dabbb9d4.jpg

    3)最后,web容器调用destroy()方法来终结Servlet。如果你想在Servlet的生命周期内关闭或者销毁一些文件系统或者网络资源,你可以调用这个方法来实现。destroy() 方法和init()方法一样,在Servlet的生命周期里只能调用一次。

     

    如下例子

    package com.wxp.servlet;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class MyFirstServlet extends HttpServlet {
        /**
         * Constructor of the object.
         */
        public MyFirstServlet() {
            super();
        }

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

        /**
         * 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;charset=utf-8");
            PrintWriter out = response.getWriter();
            try {
                out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
                out.println("<HTML>");
                out.println("  <HEAD><TITLE>MyFirstServlet</TITLE></HEAD>");
                out.println("  <BODY>");
                out.print("Servlet MyFirstServlet at");
                out.print(request.getContextPath());
                out.println("  </BODY>");
                out.println("</HTML>");
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                out.flush();
                out.close();
            }
        }

        /**
         * 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 {
             this.doGet(request, response);
        }

        /**
         * Initialization of the servlet. <br>
         *
         * @throws ServletException if an error occurs
         */
        public void init() throws ServletException {
            // Put your code here
        }
        public String getServletInfo(){
            return "MyFirstServlet";
        }
    }
     

    转载于:https://my.oschina.net/u/3378039/blog/1841870

    展开全文
  • 一、完整的servlet生命周期流程: 1.加载web.xml文件。 2.通过构造函数创建servlet对象。 3.通过init方法初始化servlet。 4.通过service,或者doGet、doPost提供服务。 5.在重启或关闭时自动对servlet进行销毁。 二...

    一、完整的servlet生命周期流程:
    1.加载web.xml文件。
    2.通过构造函数创建servlet对象。
    3.通过init方法初始化servlet。
    4.通过service,或者doGet、doPost提供服务。
    5.在重启或关闭时自动对servlet进行销毁。
    二、Web服务器在与客户端交互时.Servlet的工作过程是:
    1.在客户端对web服务器发出请求
    2.web服务器接收到请求后将其发送给Servlet
    3.Servlet容器为此产生一个实例对象并调用ServletAPI中相应的方法来对客户端HTTP请求进行处理,然后将处理的响应结果返回给WEB服务器.
    4.web服务器将从Servlet实例对象中收到的响应结构发送回客户端.

    展开全文
  • Servlet生命周期简述

    千次阅读 2020-02-12 16:38:40
    Servlet生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。 1.加载:容器通过类加载器使用Servlet类对应的文件来加载Servlet 2.创建:通过调用Servlet的构造函数来创建一个Servlet实例 3.初始化...
  • Servlet 生命周期分为三个阶段: (1)初始化阶段:调用 init() 方法 (2)响应客户端请求阶段:调用 service() 方法 (3)终止阶段:调用 destroy() 方法 生命周期Servlet 是一种可以在 Servlet 容器中运行的...
  • 简单完整讲述Servlet生命周期

    万次阅读 多人点赞 2020-08-24 11:47:46
    servlet生命周期过程 1.加载web.xml文件——当前只去解析xml文件,知道servlet的存在,此时还没有去创建servlet。 <!-- 声明servlet --> <servlet> <!-- servlet的别名 --> <servlet-name&...
  • 简述servlet生命周期(工作流程)

    千次阅读 2017-04-24 14:17:24
    ①WEB服务器首先会检查是否已经装载并创建了该servlet实例对象。如果是直接进行第④步,否则执行第②步。 ②装载并创建该Servlet的一个实例对象。 ③调用Servlet实例对象的init()方法。 ④创建一个用于封装HTTP...
  • Servlet生命周期方法

    2020-03-02 17:22:16
    Servlet中的生命周期方法: 1. 被创建:执行init方法,只执行一次 * Servlet什么时候被创建? * 默认情况下,第一次被访问时,Servlet被创建 * 可以配置执行Servlet的创建时机。 * 在<servlet>...
  • 由IntelliJ IDEA模板简述Servlet生命周期过程
  • Servlet生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求,提供服务。在讨论Servlet生命周期之前,先让我们来看一下这几个方法:1. init()方法在Servlet的生命周期中,仅执行一次init()...
  • 简述servlet生命周期(面试过)

    千次阅读 2018-11-10 09:23:24
    简述servlet生命周期 在Servlet产生到消亡的过程中,有三个生命周期函数,通过javax.servlet.Servlet接口中初始化方法init(),处理客户请求的方法service(),终止方法destroy()来表示。 注意:创建Servlet实例、...
  • 简单说一下servlet生命周期?一、简单说一下servlet生命周期?二、Servlet API中forward() 与redirect()的区别? 一、简单说一下servlet生命周期?   servlet有良好的生存期的定义,包括加载和实例化、初始化、...
  • Servlet生命周期及特性一、Servlet生命周期1. 生命周期四个阶段1.1实例化1.2初始化1.3服务1.4 销毁1.5 Servlet执行流程二、Servlet特性1. 线程安全问题2. 如何保证线程安全 一、Servlet生命周期 1. 生命周期四个阶段...
  • 由于servlet运行在容器中,没有main()方法,因此整个生命周期都是由容器来控制的。 简单而言,servlet生命周期只有两种状态:未创建状态与初始化状态。这2种状态的转换主要是由3个重要的方法来进行控制的。init...
  • 什么是Servlet? 简单概述:在学习JavaEE(也就是javaweb)的阶段就会了解servlet、比如在web. xml中设置指定servlet的一个访问路径、他就会根据你浏览器请求是get方式或者post方式时、它会执行对应的doget方法或者...
  • servlet生命周期及其相关方法

    千次阅读 2019-03-20 21:26:56
    1.servlet生命周期 1)实例化,有web容器实例化servlet实例 2)初始化,容器调用init()方法 3)服务,客户端请求servlet时,容器调用service()方法 4)销毁,结束服务,调用destroy()方法 2. 相关方法: ...
  • 【面试题】Servlet生命周期简述(个人记录)

    万次阅读 多人点赞 2018-05-06 15:39:50
    二、Servlet生命周期简述 (1)加载和实例化 当Servlet容器启动或客户端发送一个请求时,Servlet容器会查找内存中是否存在该Servlet实例,若存在,则直接读取该实例响应请求;如果不存在,就创建一个Servlet实例。...
  • Servlet生命周期

    万次阅读 多人点赞 2019-06-02 17:36:53
    Servlet生命周期 servlet生命周期就是从servlet出现到销毁的全过程。主要分为以下几个阶段: 加载类—>实例化(为对象分配空间)—>初始化(为对象的属性赋值)—>请求处理(服务阶段)—>销毁 服务器启动...
  • servlet生命周期

    万次阅读 多人点赞 2019-04-29 11:57:21
    1.servlet生命周期 主要有三个方法: init()初始化阶段 service()处理客户端请求阶段 destroy()终止阶段 初始化阶段: Servlet容器加载Servlet,加载完成后,Servlet容器会创建一个Servlet实例并调用init()方法...
  • servlet就是一个接口,定义了java类被浏览器访问到(被Tomcat识别)的规则,主要负责接收浏览器的请求,tomcat服务器调用servlet方法。步骤:创建 一个javaEE项目,定义一个类实现servlet接口,重写方法,在web.xml...
  • /*Servlet生命周期1.Servlet没有main()方法,不能独立运行,它的运行完全由Servlet引擎来控制和调度。所谓生命周期,指的是servlet容器何时创建servlet实例、何时调用其方法进行请求的处理、何时并销毁其实例的...
  • servlet (2) 生命周期

    2016-08-04 14:29:17
    servlet生命周期各阶段 1、创建对象 创建对象只在用户第一次访问Web服务器时候创建,第二次甚至更多次访问时,Servlet已经存在,不用再去访问 对象创建原理图: 用户第一次访问web服务器时,...
  • 1. servlet介绍 servlet从宏观上来讲,servlet是连接web服务器和web引用程序的协议。是一种通信规范,只是这个规范是通过接口的形式来体现。 通常来说,servlet是宏观上servlet规范中的一个具体的接口,servlet...
  • init() service() do...() 如doGet() 或 doPost() ...而对于每个对此Servlet的请求,容器都会开一个单独的线程,然后运行service(); service()运行完线程结束,service()会调用do...()方法。 ServletConfig:...
  • servlet是什么?有什么用? 通俗的说 servlet 的本质是一个java程序 ,Servlet 同时也是连接 Web 服务器与服务端 Java 程序的协议,是一种通信规范。这个规范是以一套接口的形式体现的。 作用:当浏览器通过http调用...
  • Servlet生命周期和执行流程

    千次阅读 2020-04-20 20:58:07
    Servlet生命周期 Servlet生命周期 答:当用户通过浏览器启动Tomcat时,由于是第一次执行,会先执行init()方法进行一次初始化操作 初始化了之后,当用户再通过浏览器访问Tomcat时,不用再初始化了,就直接执行service()...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,320
精华内容 3,328
关键字:

简述servlet的生命周期

友情链接: ffh264lib_20.zip