首页 > 程序开发 > 软件开发 > 其他 > 正文
Servlet
2017-01-10       个评论    来源:代码搬运工  
收藏    我要投稿

原文来自搬砖工,如需转载请注明出处


Servlet 生命周期、工作原理

一、Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。
1.init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。
2.service():它是Servlet的核心,负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。
3.destroy(): 仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。
Tomcat 与 Servlet 是如何工作的:

\

步骤:

Web Client 向Servlet容器(Tomcat)发出Http请求
Servlet容器接收Web Client的请求
Servlet容器创建一个HttpRequest对象,将Web Client请求的信息封装到这个对象中。
Servlet容器创建一个HttpResponse对象
Servlet容器调用HttpServlet对象的service方法,把HttpRequest对象与HttpResponse对象作为参数传给 HttpServlet 对象。
HttpServlet调用HttpRequest对象的有关方法,获取Http请求信息。
HttpServlet调用HttpResponse对象的有关方法,生成响应数据。
Servlet容器把HttpServlet的响应结果传给Web Client。
<喎"/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PHN0cm9uZz62/qGiU2VydmxldLmk1/fUrcDtPC9zdHJvbmc+PGJyPgo8YnI+CjGhosrXz8i88rWlveLKzdK7z8JTZXJ2bGV0vdPK1brNz+zTpr/Nu6fH68fztcS5/bPMo6zK18/Iv827p7eiy83Su7j2x+vH86OsU2VydmxldMrHtffTw3NlcnZpY2UoKbe9t6i21Mfrx/O9+NDQz+zTprXEo6zNqLn91LS0+sLrv8m8+6Osc2VydmljZSgpt723qNbQttTH68fztcS3vcq9vfjQ0MHLxqXF5KOs0aHU8bX308Nkb0dldCxkb1Bvc3S1yNXi0Km3vbeoo6zIu7rz1Nm9+MjrttTTprXEt723qNbQtffTw8LfvK2y47XEt723qKOsyrXP1rbUv827p7XEz+zTpqGj1NpTZXJ2bGV0vdO/2rrNR2VuZXJpY1NlcnZsZXTW0MrHw7vT0GRvR2V0o6ijqaGiZG9Qb3N0o6ijqbXItcjV4tCpt723qLXEo6xIdHRwU2VydmxldNbQtqjS5cHL1eLQqbe9t6ijrLWryse2vMrHt7W72GVycm9y0MXPoqOsy/nS1KOsztLDx8O/tM62qNLl0ru49lNlcnZsZXS1xMqxuvKjrLa8sdjQ68q1z9Zkb0dldLvyZG9Qb3N0tcjV4tCpt723qKGjPGJyPgo8YnI+CjKhosO/0ru49tfUtqjS5bXEU2VydmxldLa8sdjQ68q1z9ZTZXJ2bGV0tcS907/ao6xTZXJ2bGV0vdO/2tbQtqjS5cHLzuW49re9t6ijrMbk1tCxyL3P1tjSqrXEyP249re9t6jJ5rywtb1TZXJ2bGV0tcTJ+sP81tzG2qOst9ax8MrHyc/OxMzhtb21xGluaXQoKSxzZXJ2aWNlKCksZGVzdHJveSgpt723qKGjR2VuZXJpY1NlcnZsZXTKx9K7uPbNqNPDtcSjrLK7zNi2qNPayM66ztCt0um1xFNlcnZsZXQsy/zKtc/WwctTZXJ2bGV0vdO/2qGjtvhIdHRwU2VydmxldLzMs9DT2kdlbmVyaWNTZXJ2bGV0o6zS8rTLSHR0cFNlcnZsZXTSssq1z9bBy1NlcnZsZXS907/aoaPL+dLUztLDx7ao0uVTZXJ2bGV0tcTKsbry1rvQ6NKqvMyz0Eh0dHBTZXJ2bGV0vLS/yaGjPGJyPgo8YnI+CjOholNlcnZsZXS907/aus1HZW5lcmljU2VydmxldMrHsrvM2Lao09rIzrrO0K3S6bXEo6y2+Eh0dHBTZXJ2bGV0ysfM2Lao09pIVFRQ0K3S6bXEwOCjrMv50tRIdHRwU2VydmxldNbQyrXP1sHLc2VydmljZSgpt723qKOssqK9q8frx/NTZXJ2bGV0UmVxdWVzdKGiU2VydmxldFJlc3BvbnNlIMe/16rOqkh0dHBSZXF1ZXN0ILrNIEh0dHBSZXNwb25zZaGjPGJyPgo8L3A+CjxwPrS0vahTZXJ2bGV0ttTP87XEyrG7+qO6PGJyPgo8YnI+ClNlcnZsZXTI3cb3xvS2r8qxo7q2wcihd2ViLnhtbMXk1sPOxLz+1tC1xNDFz6KjrLm51OzWuLaotcRTZXJ2bGV0ttTP86OstLS9qFNlcnZsZXRDb25maWe21M/zo6zNrMqxvatTZXJ2bGV0Q29uZmlnttTP89f3zqqyzsr9wLS199PDU2VydmxldLbUz/O1xGluaXS3vbeooaM8YnI+CtTaU2VydmxldMjdxvfG9LavuvOjur/Nu6fK17TOz/JTZXJ2bGV0t6Kz9sfrx/OjrFNlcnZsZXTI3cb3u+HF0LbPxNq05tbQyse38bTm1NrWuLaotcRTZXJ2bGV0ttTP86OsyOe5+8O709DU8rS0vajL/KOsyLu687j5vt2/zbuntcTH68fztLS9qEh0dHBSZXF1ZXN0oaJIdHRwUmVzcG9uc2W21M/zo6y007b4tffTw1NlcnZsZXQgttTP87XEc2VydmljZbe9t6ihozxicj4KU2VydmxldCBTZXJ2bGV0yN3G99TaxvS2r8qx19S2r7S0vahTZXJ2bGV0o6zV4srH08nU2ndlYi54bWzOxLz+1tDOqlNlcnZsZXTJ6NbDtcQ8bG9hZC1vbi1zdGFydHVwPsr00NS+9raotcSho7TT1tDO0sPH0rLE3L+0tb3NrNK7uPbA4NDNtcRTZXJ2bGV0ttTP89TaU2VydmxldMjdxvfW0NLUtaXA/bXE0M7KvbTm1Nqhozxicj4KPC9wPgo8cD48L3A+CjxwcmUgY2xhc3M9"brush:java;"> Init org.xl.servlet.InitServlet 1


点击复制链接 与好友分享!回本站首页
相关TAG标签 Servlet
上一篇:Python单元测试和unittest模块
下一篇:最后一页
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做实用的IT技术学习网站