Servlet的生命周期及相关的核心类与接口
1)核心类与接口
a,Servlet接口
init(ServletConfig config):容器
在创建一个servlet对象之后,会立即调用
该方法。容器在调用init方法之前,会先fig对象。也就是说,
ServletCo
创建一个ServletConnfig对象会作为参数传递给servlet
对象。
service(ServletRequest request,
ServletResponse response):容器收到客户端的
请求之后,会调用该方法来处理请求。
destroy(): 容器在销毁servlet对象之前,会调用
该方法。
b,GenericServlet抽象类(实现了Servlet
接口中的init,destroy方法)
c,HttpServlet抽象类(继承GenericServlet,
实现了service方法)
该service方法会依据请求方式调用doGet
/doPost方法,所以,可以通过override
doGet/doPost方法来实现请求的处理。
d,ServletConfig接口:
//访问servlet的初始化参数,在web.xml文件当中
//使用
String getInitParamter(String paraName);
如何配置servlet初始化参数?
web.xml中,添加
e,ServletRequest是HttpServletRequest的父接口。
ServletResponse是HttpServletResponse的父接口。
2)生命周期
servlet容器如何创建servlet对象,然后分配
其资源,调用其方法完成请求处理,最后销
毁servlet对象的整个过程。
第一阶段: 实例化
当请求到达容器时,容器会先检查对应的
servlet对象是否存在,如果不存在,则
创建servlet对象,如果存在,不再创建。
容器在启动的时候,会检查servlet的配置
信息,如果某个servlet配置了
参数,则会先对该servlet进行实例化和初始化。
参数值是一个>=0的整数,越小,优先级越高。
指的是先实例化。
第二阶段: 初始化
容器接下来,会调用servlet对象的init方法。
该方法只会执行一次,用于初始化。
init方法可以override,建议
override init()。
而不是override init(ServletConfig)
第三阶段:就绪
容器调用servlet对象的service方法来处理请求。
第四阶段:销毁
容器在销毁servlet对象之前,会先调用destroy
方法。
2015年全国职称计算机考试教材(2007模 .. 定价:¥225 优惠价:¥213 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 |