servlet体系和生命周期
1、servlet的体系结构:
Servlet:接口
|
GenericServlet:抽象类
|
HttpServlet:抽象类
|
自定义servlet
servlet常用方法:
void init(ServletConfig config):初始化,在每一次创建对象的时候回运行一次
void service(ServletRequest request,ServletResponse response):服务 处理业务逻辑,底层是根据请求方式调用doGet或者doPost方法
void destroy():销毁,在服务器正常退出或者该对象被移除时运行
ServletConfig getServletConfig() :获取当前servlet的配置对象
GenericServlet常用方法:
除了service方法没有显示,其他都实现了
空参的Init() 若我们自己想对servlet进行初始化操作,重写这个init()方法即可
HttpServlet常用方法:
service做了实现,把参数强转,调用了重载的service方法
重载的service方法获取请求的方式,根据请求方式的不同调用相应doXxx()方法
doGet和doPost方法
2、servlet生命周期 ★★★
void init(ServletConfig config):初始化
* 初始化方法
* 执行者:服务器
* 执行次数:一次
* 执行时机:默认第一次访问的时候
1 @Override//通过初始化方法添加全局参数 2 public void init() throws ServletException { 3 ServletContext sContext = getServletContext(); 4 sContext.setAttribute("count", 0); 5 }
void service(ServletRequest request,ServletResponse response):服务 处理业务逻辑
* 服务
* 执行者:服务器
* 执行次数:请求一次执行一次
* 执行时机:请求来的时候
void destroy():销毁
* 销毁
* 执行者:服务器
* 执行次数:只执行一次
* 执行时机:当servlet被移除的时候或者服务器正常关闭的时候
serlvet是单实例多线程
默认第一次访问的时候,服务器创建servlet,并调用init实现初始化操作.并调用一次service方法
每当请求来的时候,服务器创建一个线程,调用service方法执行自己的业务逻辑
当serlvet被移除的时候服务器正常关闭的时候,服务器调用servlet的destroy方法实现销毁操作.
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出,
原文链接
如有问题, 可邮件(zxy.hope@gmail.com)咨询.