servlet

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一生中只能调用一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值