servlet

来源:互联网 发布:开淘宝店的经历 编辑:程序博客网 时间:2024/06/05 20:11

servlet的任务是得到一个客户的请求,再发回一个响应

请求可能很简单,也可能比较复杂,这些请求可能会携带一些重要的数据,servlet代码要知道怎么找到和使用这个请求。
响应也会携带一些信息,浏览器需要把这些信息显示为一个页面(或者是返回某些数据),servlet代码必须知道怎么发送这些信息,或者不发送。
同时servlet也可以把请求传递给其他人。

容器对servlet的控制

1、用户点击一个链接,链接的url指向一个servlet
2、容器发现这个请求指向一个servlet,所以容器会创建两个对象HttpServletResponse和HttpServletRequest
3、容器根据请求中的url查找正确的servlet,为这个请求创建或者分配一个线程,并调用servlet的service()方法,请求和响应对象作为参数进行传递。
4、service()方法根据客户发出的HTTP方法(get,post等),确定要调用哪个servlet方法(doGet(),doPost())
5、servlet使用响应对象将响应发送给客户。响应是通过容器写回的。
6、service()方法结束,线程要么撤销,要么返回到容器管理的一个线程池。请求和响应对象引用已经出了作用域,所以这些对象会被垃圾回收。
7、客户得到响应

servlet的生命周期

1、容器先要找到servlet文件,然后加载servlet类
2、初始化servlet(构造函数运行,这里只是使之成为一个对象,还不是servlet。这个对象暂时还不具备“servlet特性”)
注:对于servlet的生命周期,只有一个主要的状态——初始化。
如果servlet没有初始化,则要么正在初始化(运行构造函数或者init()方法)、正在撤销,要么就是还不存在
3、init(),servlet一生中只能调用一次
4、service(),处理客户请求
5、destroy(),servlet一生中只能调用一次

原创粉丝点击