您的位置:首页 > 其它

servlet生命周期

2014-02-26 20:49 197 查看
servlet是在服务器上运行的小程序,它的主要功能的是交互式的浏览和修改数据(可以理解为“请求-响应”),

生成动态的web内容。

这是大部分资料上的解释,个人认为servlet就是服务器用来对客户端请求做出响应的工具,在这里觉得有必要说一下

它的声明周期,以便了解它的工作原理(以HttpServlet为例),主要有3个方法:

1.init()方法

在 Servlet 的生命期中,仅执行一次 init() 方法。它是在服务器装入 Servlet 时执行的。 可以配置服务器,

以在启动服务器或客户机首次访问 Servlet 时装入 Servlet。 无论有多少客户机访问 Servlet,都不会重复执行 init() 。

此方法不论覆盖或不覆盖都会执行,并确保在service()方法之前执行完毕。

2.service()方法

此方法是servlet的核心,真正响应服务器的操作就是在这里完成的。但是在HttpServlet中,官方建议不要覆盖

此的方法,只需覆盖doGet()方法、doPost()方法等,一般都是这两种。个人认为HttpServlet是servlet的的子类,

针,对http协议已经增加了doGet()、doPost()等方法,所以不必再覆盖service()方法。

3.destroy()方法

destroy() 方法也仅执行一次,即在服务器停止且卸装Servlet 时执行该方法。可以在这里执行关闭流操作或者

管理服务器资源。

简单解释一下Servlet接收和响应客户请求的过程,如图



 

(1)客户机将请求发送到服务器。

(2)服务器上的Web容器实例化(装入)Servlet

(3)Web容器将请求信息发送到 Servlet。

(4)Servlet 调用service()方法创建一个响应,并将其返回到Web容器

(5)Web容器将响应发回客户机。

(6)服务器关闭或Servlet空闲时间超过一定限度时调用destory()方法退出。

这只是目前的理解,知道不是很深刻,但相信在一段时间之后会有不同见解,任重道远!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: