Servlet生命周期+工作原理

1、Servlet的生命周期:

    Servlet加载,加载,服务,销毁。

2、典型函数解释:

    Init():这个函数是用来初始化Servlet对象的。在Servlet的生命周期中,仅仅执行一次Servlet函数。

    Destroy():这个函数是用来销毁Servlet对象的,同样的,在Servlet的生命周期中,仅仅执行一次Servlet函数。

    Service():这个函数是Servlet对象响应客户请求时候使用的。是Servlet的核心函数。有两个参数:HTTPRequest,HTTPResponse。HTTPServlet中已经有了Service方法,默认的服务功能是调用和请求方法一致的do功能。

3、tomcat和Servlet是怎么工作的:

  1. Web client向Servlet容器(tomcat)发出请求
  2. Tomcat接收请求
  3. Servlet容器中创建一个HTTPRequest对象,将Web client请求信息放进来。
  4. Servlet容器中创建一个HTTPResponse对象。
  5. Servlet容器调用HTTPServlet对象的Service方法,将HTTPRequest和HTTPResponse放入Service函数中去。
  6. HTTPServlet调用相关方法获取HTTPRequest中的请求信息。
  7. HTTPServlet调用相关方法去生成HTTPResponse。
  8. Servlet将相应结果返回给Web client。

4、Servlet的工作原理:

    客户发送一个请求,然后Servlet容器会创建基于这个请求的ServletRequest和ServletResponse,    然后调用Servlet的Service方法,获得请求信息,处理信息,返回响应信息。

    其中Service方法中选择与请求方法对应的do功能,例如doGet,doPost方法。在Servlet和GenericServlet中是没有这些方法的,需要自己去定义。虽然HTTPServlet中有这些方法,但是返回Error信息,需要我们自己去重载。

    Servlet和GenericServlet是不基于任何协议的,而HTTPServlet是基于HTTP协议的。

最新文章

  1. 在Ubuntu下搭建ASP.NET 5开发环境
  2. ORA-12541:TNS:no listener 客户端tnsnames.ora配置,以及服务端listener.ora配置
  3. [pdf.js]预览pdf时,中文名称乱码的问题
  4. ClassLoader相关内容
  5. Unity3D脚本中文系列教程(二)
  6. jquery 缓冲加载图片插件 jquery.lazyload
  7. js post传值
  8. Nginx和Tomcat负载均衡实现session共享(转)
  9. windows下寻找端口
  10. Eclipse中代码提示框的背景色修改
  11. Python——Pycharm基本设置
  12. springboot整理
  13. C#进阶のMEF注入
  14. jquery中使元素显示和隐藏方法之间的区别
  15. SQL Server 最大并行度
  16. metamask-iframe-stream,没成功
  17. 【BZOJ4391】[Usaco2015 dec]High Card Low Card(贪心)
  18. Loadrunner集合点Rendezvous知识
  19. 【Android】18.2 利用百度定位服务API实现位置跟踪
  20. Java 请求webServce接口 不带参数

热门文章

  1. javascript中的数组扩展(一)
  2. Android的init过程(二):初始化语言(init.rc)解析
  3. jQuery源码分析之=>jQuery的定义
  4. P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1
  5. python代码风格-PEP8
  6. 【Android】Android SDK Manager更新慢/失败的问题
  7. ASP.NET Core1.0 带来的新特性
  8. jQuery owlcarousel 旋转木马
  9. 文件无刷新上传(swfUpload与uploadify)
  10. Cannot export AX project in AX7