servlet生命周期咋回事啊?

描述下具体过程!谢谢... 描述下具体过程!谢谢 展开
 我来答
jingyulee
2008-12-08
知道答主
回答量:23
采纳率:0%
帮助的人:3.5万
展开全部
Servlet生命周期是指:Servlet实例从创建到响应客户请求直至销毁的过程。Servlet容器控制着Servlet的生命周期。首次调用Servlet时由Servlet容器创建Servlet实例。
Servlet生命周期的3个方法:

·init():创建Servlet实例后进行初始化。实现ServletConfig接口的对象作为参数进行传递。在初始化过程中,Servlet容器使用ServletConfig接口将信息传递给Servlet,如Servlet参数名称,初始化参数的值,Servlet实例名称等。
语法:public void init(ServletConfig config) throws ServletException
注:config作为参数传递给init()方法实现ServletConfig接口的对象。

·service():响应客户端发出的请求。service()方法接受ServletRequest接口和ServletResponse接口的对象来处理请求和发送响应。
语法:public void service(ServletRequest request,ServletResponse response) throws ServletException,IOException

·destroy():释放Servlet实例,清楚所持有的资源,如内存和文件处理线程。
语法:public void destroy()

注:要实例化一个Servlet,Servlet容器必须先找到Servlet类,加载Servlet类并创建Servlet对象。然后调用init()方法初始化Servlet。ServletConfig接口对象作为参数传递给init()方法,ServletConfig接口对象提供对ServletContext接口的访问。Servlet容器使用ServletContext接口与Servlet容器进行通信。
如果初始化Servlet失败,则抛出UnavailableException或ServletException异常,并再次常识实例化和初始化Servlet。然后将ServletRequest和ServletResponse接口对象作为参数传递给service()方法,该方法将处理请求并返回异常。如果响应请求是引发异常,则调用destroy()方法来卸载Servlet实例,以确保在内存中所有的持续状态和Servlet的当前状态是同步的。
knightzhuwei
2008-12-08 · TA获得超过1万个赞
知道大有可为答主
回答量:2440
采纳率:0%
帮助的人:1972万
展开全部
Tomcat处理用户请求,我们可以清晰的看到容器Servlet的生命周期管理过程:
1、客户发出请求—>Web 服务器转发到Web容器Tomcat;
2、Tomcat主线程对转发来用户的请求做出响应创建两个对象:HttpServletRequest和HttpServletResponse;
3、从请求中的URL中找到正确Servlet,Tomcat为其创建或者分配一个线程,同时把2创建的两个对象传递给该线程;
4、Tomcat调用Servlet的servic()方法,根据请求参数的不同调用doGet()或者doPost()方法;
5、假设是HTTP GET请求,doGet()方法生成静态页面,并组合到响应对象里;
6、Servlet线程结束,Tomcat将响应对象转换为HTTP响应发回给客户,同时删除请求和响应对象。
从该过程中,我们可以理解Servlet的生命周期:Servlet类加载(对应3步);Servlet实例化(对应3步);调用init方法(对应3步);调用service()方法(对应4、5步);;调用destroy()方法(对应6步)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9653646
2008-12-09 · TA获得超过374个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:150万
展开全部
--------------servlet生命周期-----------------------------------------

只有一个对象
第一次请求的时候被初始化,只一遍
初始化后先调用init方法,只一遍
每个请求,调用一遍service->受保护的service->doGet/doPost。 以多线程的方式运行。不要在servlet中设计成员变量。
卸载前调用destroy方法

才子_辉祝您愉快!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liumingdestar
2012-08-23
知道答主
回答量:11
采纳率:0%
帮助的人:1.7万
展开全部
servlet是Tomcat核心组件,又Tomcat容器进行创建和声明生命周期的管理,一般开发中,servlet里面有init初始化方法,该方法在servlet生命周期里面,只执行一次,一般用于初始化配置文件等等,对于浏览器发出的请求,需要重写doGet/doPost方法,servlet对象只创建一次,是多在多线程方式下运行的,且servlet是线程不安全的,所以,不要在servlet中设计全局变量或者静态变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
highywuzhi
2008-12-08
知道答主
回答量:25
采纳率:0%
帮助的人:0
展开全部
servlet生命周期:
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式