servlet生命周期
来源:互联网 发布:win7打开23端口 编辑:程序博客网 时间:2024/06/14 08:31
1.Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过
avax.servlet.Servlet接口中的init(初始化)、service(处理请求)和destroy(销毁)方法来表示。
(1)加载和实例化
Servlet容器负责加载和实例化Servlet。当Servlet容器启动时,或者在容器检测到需要这个Servlet来响应第一个请求时,创建Servlet实例
(2)初始化
在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象。初始化的目的是为了让Servlet对象在处理客户端请求前完成一些初始化的工作,如建立数据库的连接,获取配置信息等。对于每一个Servlet实例,init()方法只被调用一次。在初始化期间,Servlet实例可以使用容器为它准备的ServletConfig对象从Web应用程序的配置信息(在web.xml中配置)中获取初始化的参数信息 。
初始化方法调用一次
(3)请求处理
Servlet容器调用Servlet的service()方法对请求进行处理。要注意的是,在service()方法调用之前,init()方法必须成功执行。在service()方法中,Servlet实例通过ServletRequest对象得到客户端的相关信息和请求信息,在对请求进行处理后,调用ServletResponse对象的方法设置响应信息此后对该实例的任何请求,都将收到容器发送的HTTP 404(请求的资源不可用) 响应HTTP 503(服务器暂时忙,不能处理请求)响应。
Service有两个参数(ServletRequest和ServletResponse),ServletRequest保存了客户向服务器发送的请求,而ServletResponse用来设置如何对客户进行响应。
Service:dogetdopostform中可以写是用method="get"还是method="post"get的话调用doGet()url显示:http://xx.xx.xx/xxxServlet?username=abc+password=abcpost的话调用doPost()url显示:http://xx.xx.xx/xxxServlet不管是post还是get方法提交过来的连接,都会在service中处理,然后,由service来交由相应的doPost或doGet方法处理,如果你重写了service方法,就不会再处理doPost或doGet了。
请求方法调用一次或者 多次
(4)服务终止
当容器检测到一个Servlet实例应该从服务中被移除的时候,容器就会调用实例的destroy()方法,以便让该实例可以释放它所使用的资源,保存数据到持久存储设备中。当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法
销毁方法调用一次- servlet生命周期
- Servlet 生命周期
- Servlet生命周期
- servlet生命周期
- Servlet生命周期
- Servlet生命周期
- Servlet生命周期
- servlet生命周期
- servlet生命周期!
- Servlet生命周期
- Servlet生命周期
- Servlet生命周期
- servlet生命周期
- Servlet生命周期
- Servlet生命周期
- servlet生命周期
- servlet生命周期
- servlet生命周期
- c++中如何实现一个不能被继承的类
- Illegal access: this web application instance has been stopped already .【心里的疑惑化解了】
- Message Flood
- 现在社会发展关键词
- 第十四周:[LeetCode]10. Regular Expression Matching
- servlet生命周期
- 用Python爬取某吧的美图
- java如何解析传来的xml字符串
- 往电子书里面挂书签
- C语言学习之路-由浅入深(快速掌握c基础)
- 2017浙工大之江学院校赛 E 折半搜索+二分
- linux文件类型和软硬链接祥析
- js中的变量声明以及变量名规范
- 用友iuap开发-环境搭建