Servlet的API和生命周期

一、Servlet的API(生命周期)

(1)Servlet接口中的方法

1)init(ServletConfig config)

何时执行:servlet对象创建的时候执行(以上图为例:在浏览器中按地址第一次访问服务器时,Tomcat服务器会new 一个QuickstartServlet对象,并通过生成的对象调用init方法,init方法仅仅执行一次。)

ServletConfig : 代表的是该servlet对象的配置信息。

参数作用:

1. 可以通过参数config获得该servlet的name.

2.可以通过参数config获得该servlet的初始化参数。

3.可以通过参数config获得ServletContext对象

2)service(ServletRequest request,ServletResponse response)

何时执行:每次请求都会执行       (以上图为例:在浏览器中按地址访问服务器时,Tomcat服务器会通过第一次访问时new 的QuickstartServlet对象调用service方法,每次访问服务器都会执行service方法。)

ServletRequest :代表请求,  可以认为ServletRequest 内部封装的是http请求的信息。

ServletResponse :代表响应, 可以认为ServletResponse内部封装的是http响应的信息。

3)destroy()

何时执行:servlet销毁的时候执行(关闭Tomcat服务器时,执行)

(2)Servlet的生命周期(面试题)

1)Servlet何时创建?

默认第一次访问servlet时创建该对象(可以通过配置使第一次访问时,不创建Servlet对象)

2)Servlet何时销毁?

服务器关闭servlet就销毁了      (Tomcat运行时,会在内存中为Tomcat服务器分配一部分内存。Servlet对象、request对象、response对象以及session对象的创建,其实都是在Tomcat分配的内存中创建和运行的,当Tomcat服务器关闭时,这些对象和资源才能得到释放。)

3)每次访问必然执行的方法?

service(ServletRequest req, ServletResponse res)方法

面试题:说一下Servlet的生命周期?

Servlet的生命周期无非是:servlet的创建和销毁,当浏览器第一次访问服务器时,servlet创建,当关闭服务器时,servlet销毁;

当servlet对象创建时,会调用init方法,  当servlet对象销毁时,会调用destroy方法。每次访问相应的servlet都会调用service方法。

ServletRequest :代表请求 认为ServletRequest 内部封装的是http请求的信息

ServletResponse :代表响应 认为要封装的是响应的信息

原文地址:https://www.cnblogs.com/liweikuan/p/12346781.html

时间: 2024-10-12 03:00:54

Servlet的API和生命周期的相关文章

深刻理解Servlet运行机制和生命周期

servlet 运行在servlet 容器中,其生命周期由容器来管理.servlet 的生命周期通过 javax.servlet.Servlet接口中的init(),servce(),和destory();方法表示.1,加载和实例化servlet 容器负责加载和实例化servlet 当容器启动或在容器中检测到需要这个servlet来响应一个请求 时.创建servlet实例.容器通过java 的反射API来创建servlet实例.所以servlet中不应该提供带参数的构造函数.2,初始化在serv

JavaWeb之 Servlet执行过程 与 生命周期

Servlet的概念 什么是Servlet呢? Java中有一个叫Servlet的接口,如果一个普通的类实现了这个接口,这个类就是一个Servlet.Servlet下有一个实现类叫HttpServlet,一个普通的java如果继承了HttpServlet类,覆盖了它的doGet和doPost方法,那么这个普通类也可以叫做Servlet.最后,servlet程序交给服务器运行! 那么,当我们写好了一个Servlet,交给了服务器,它是如何执行的呢!? Servlet的执行过程 我们写了一个Serv

Servlet的配置和生命周期

1 Servlet容器:运行Servlet.JSP.Filter等的软件环境    1)可以创建Servlet,并调用生命周期的方法 2 Servlet生命周期的方法: 1)构造器:只被调用一次,只有第一次请求Servlet时,创建Servlet实例,说明Servlet是单实例的. 2)init方法:只被调用一次,在创建好实例后立即被调用,用来初始化Servlet. 3)service:被多次调用,每次请求都调用service方法,实际用于响应请求 4)destroy:只被调用一次,在当前Ser

Servlet(二)生命周期

Servlet的生命周期可以定义为从其被创建到其被销毁的整个流程,下面是Servlet生命的常规线路: 容器调用init()方法进行Servlet的初始化 Servlet调用service()方法去处理客户端的请求 容器调用destroy()方法将Servlet销毁 最后,Servlet被JVM的GC线程当作垃圾处理掉 init()方法: init()方法只会在创建Servlet时被调用一次,不管有多少用户请求.通常情况下,Servlet在容器第一次接收到用户请求时被创建,但也可以通过load-

[03] Servlet继承关系和生命周期

1.Servlet的继承关系 假如现有我们自定义的一个Servlet,继承HttpServlet,那么实际上它的继承链如下图: 可以看到,核心的部分在于: 两个顶级接口 Servlet ServletConfig 接口的实现类 GenericServlet 基于HTTP协议的实现类 HttpServlet 我们剥离一下,把不需要看的去掉,再把方法显示一下,可清晰知道Servlet的整体继承关系如下: 其中重点摘录部分进行说明: ServletConfig  Servlet的配置信息,常用来在Se

JavaEE基础(01):Servlet实现方式,生命周期执行过程

本文源码:GitHub·点这里 || GitEE·点这里 一.Servlet简介 Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容.使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页. 二.实现方式 1.继承HttpServlet API简介 继承自 GenericServlet. 遵守 HTTP协议实现,以设计模式的角度看,HttpServlet担任抽象模板角色,模板方法:由ser

Servlet执行流程和生命周期【慕课网搬】

Servlet执行流程(GET方式为例) 首先用户客户端浏览器发出Get方式(点击超链接方式)向浏览器发出请求. 服务器接收到客户端点击超链接,接收到GET请求之后,服务器到WEB.xml中<servlet-mapping>标签中来寻找与之对应的URl地址,从而找到相对应的servlet名字,再根据该名字到标签中找与之相对应的处理类(继承至HttpServlet类),执行该类中的doget()[超链接方式,服务器可以自行分析]方法. Servlet的生命周期 调用构造方法创造servlet实例

Servlet和JSP的生命周期

一.Servlet生命周期 Servlet是运行在Servlet容器(有时候也叫Servlet引擎,是web服务器和应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME的请求,格式化基于MIME的响应.常用的tomcat.jboss.weblogic都是Servlet容器)中的,其生命周期是由容器来管理.Servlet的生命周期通过Java.servlet.Servlet接口中的init().service().和destroy()方法表示.Servlet的生命周期有

servlet执行流程和生命周期

一.servlet执行流程: 二.生命周期: Servlet的生命周期可以分为四个阶段,即装载类及创建实例阶段.初始化阶段.服务阶段和实例销毁阶段. 1.初始化阶段  调用init()方法 2.响应客户请求阶段.调用service()方法,由service()方法根据提交的方式选择执行doGet()或者doPost()方法 3.终止阶段 调用destroy()方法 1.创建servlet实例: 在默认情况下Servlet实例是在第一个请求到来的时候创建,以后复用.如果有的Servlet需要复杂的