Servlet生命周期和jsp的9大内置对象

Servelt

一、Servlet生命周期图

Servlet生命周期和jsp的9大内置对象

 

二、Servlet生命周期简述

(1)加载和实例化

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

(2) 初始化

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

(3)服务

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

(4)销毁

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

三、jsp的9大内置对象面试题

Servlet生命周期和jsp的9大内置对象

 

1、request对象

request对象表示了从客端发过来的请求,主要用于接收客户端穿过来的数据,其作用域为一次请求

 

2、response对象

response对象表示服务端向客户端返回的响应,主要将jsp处理过的对象传回到客户端,response对象的作用域只在jsp页面有效;

 

3、session对象

session对象是由服务器自动创建的与用户请求相关的对象。服务器为每一个用户生成一个session对象,用户保存该用户的信息,跟踪用户的操作状态,session对象的内部是使用Map来保存数据的,因此保存数据的格式为KEY/value,

一次会话:客户端打开浏览器连接服务器开始,到客户端浏览器关闭这个服务器结束,被称为一次会话

4、application

Application可以将数据保存到服务器中,直到服务器关闭,否则Application中保存的数据在整个应用中都有效,application的声明周期相较于session、request、response较长。

application对象在服务器启动时就创建了,Application是一个单例的,多个用户共享这一个对象。

5、out对象

Out对象用于向服务器输出信息,并且管理应用服务器上的输出缓冲区,对Out对象进行输出数据时,可以对数据缓冲区进行操作,即使清除缓冲区中的参与数据,渭南其他数据提供缓冲的空间,输出后药剂师关闭缓冲区

6、page对象

page对象表示jsp本身,作用范围在jsp页面才是合法的

7、config对象

config对象主要是去的一些服务器的配置信息,通过pageContext对象的getServletConfig()方法可以获取config对象,当服务器启动时某些信息通过config对象传递给这个servlet,开发者可以在web.xml中为应用程序环境中的servlet程序和jsp页面提供初始化参数。

8、exception

Exception对象的作用是显示异常信息,只有使用了<%@page isErrorPage="true"%>的页面才可以使用,在一般的jsp页面中使用该对象将无法编译文件

9、pageContext

pageContext页面上下文对象,可以获取任何范围的参数,对象的创建和初始化都是由容器来完成的,在jsp页面中直接使用pageContext对象