Servlet生命周期+工作原理
Servlet生命周期+工作原理
1、Servlet的生命周期:
Servlet加载,加载,服务,销毁。
2、典型函数解释:
Init():这个函数是用来初始化Servlet对象的。在Servlet的生命周期中,仅仅执行一次Servlet函数。
Destroy():这个函数是用来销毁Servlet对象的,同样的,在Servlet的生命周期中,仅仅执行一次Servlet函数。
Service():这个函数是Servlet对象响应客户请求时候使用的。是Servlet的核心函数。有两个参数:HTTPRequest,HTTPResponse。HTTPServlet中已经有了Service方法,默认的服务功能是调用和请求方法一致的do功能。
3、tomcat和Servlet是怎么工作的:
- Web client向Servlet容器(tomcat)发出请求
- Tomcat接收请求
- Servlet容器中创建一个HTTPRequest对象,将Web client请求信息放进来。
- Servlet容器中创建一个HTTPResponse对象。
- Servlet容器调用HTTPServlet对象的Service方法,将HTTPRequest和HTTPResponse放入Service函数中去。
- HTTPServlet调用相关方法获取HTTPRequest中的请求信息。
- HTTPServlet调用相关方法去生成HTTPResponse。
- Servlet将相应结果返回给Web client。
4、Servlet的工作原理:
客户发送一个请求,然后Servlet容器会创建基于这个请求的ServletRequest和ServletResponse, 然后调用Servlet的Service方法,获得请求信息,处理信息,返回响应信息。
其中Service方法中选择与请求方法对应的do功能,例如doGet,doPost方法。在Servlet和GenericServlet中是没有这些方法的,需要自己去定义。虽然HTTPServlet中有这些方法,但是返回Error信息,需要我们自己去重载。
Servlet和GenericServlet是不基于任何协议的,而HTTPServlet是基于HTTP协议的。
Servlet生命周期+工作原理的更多相关文章
- Servlet生命周期及工作原理
1 Servlet生命周期Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方 ...
- servlet生命周期与工作原理
→ Jsp的本质是Servlet,Servlet是服务器端的小程序,运行在服务器,用于处理及响应客户端的请求. Servlet和JSP的区别: servlet是特殊的Java类,必须继承HttpS ...
- Servlet 生命周期、工作原理
按照单例的编码规则,Servlet本身只是一个Java,结构并不是单例结构. 只是Web容器在维护这些Servlet的时候只给创建一个实例存在JVM中,用户请求服务时,服务器只调用它已经实例化好的Se ...
- Servlet生命周期与工作原理(转载)
Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...
- 【转】Servlet 生命周期、工作原理
Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方法.它是在服务器装入Ser ...
- Servlet 生命周期、工作原理-是单实例多线程
Servelet是单实例多线程的 参考:servlet单实例多线程模式 一.Servlet生命周期 大致分为4部:Servlet类加载-->实例化-->服务-->销毁 1.Web C ...
- Servlet 生命周期、工作原理(转)
原文链接:Servlet 生命周期.工作原理 Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执 ...
- 面试题思考:Servlet 生命周期、工作原理
Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方法.它是在服务器装入Ser ...
- Servlet基础(工作原理、生命周期)
(一)Servlet开发与配置 1.1 开发步骤 1)编写java类,继承HttpServlet类 2)重新doGet和doPost方法 3)Servlet程序交给tomcat服务器运行! 配置信息: ...
随机推荐
- [Tool] WireShark基本使用
Wireshark(前称Ethereal)是一个网络封包分析软件. 在windows平台上,Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换. [参数设置]: 抓包参数(Cap ...
- 在做excel导出时如何将excel直接写在输出流中
之前做excel导出时,我都是先将文件写在服务器上,然后再下载下来,后来发现原来可以直接将文件写在输出流里边. 下面是一个小demo: package com.huaqin.fcstrp.util; ...
- Unity中简单使用Opengl
简介 由于项目特殊需求,需要在unity中使用一些OpenGL的东西来绘制图形(PS:其实就是有一个拖尾算法只有OpenGL版本~~~懒得改了,直接在unity中使用OpenGL算了).所以琢磨咯下如 ...
- 初学者对WAMP服务器的设置
服务器设置 在wamp/bin/apache/Apache###/conf/httpd.conf文件中设置 根文件夹 修改documentroot和directory两项 保存后重启服务 404返回值 ...
- ahjesus 捕获entity framework生成的sql语句
网上这方面的资料很少,找到一个可以用的 http://code.msdn.microsoft.com/EFProviderWrappers 里面有dll可以下载,有教程,不过是E文的. 在Entity ...
- Java Map按Value排序
Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tree)的 Nav ...
- mvc与三层结构终极区别
http://blog.csdn.net/csh624366188/article/details/7183872 http://www.cnblogs.com/zhhh/archive/2011/0 ...
- JavaScript基础16——js的BOM对象
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- webpack打包
(1) 首先生成一个package.json文件 进入项目文件的根目录执行npm init 在根目录中生成一个package.json文件 (2)全局安装webpack 执行npm install ...
- ABAP:SAP报表性能的优化
大部分ABAPer都是从SAP报表及打印开始学起的,大家也都认为写个SAP报表程序是最简单不过的事了. 但是实际情况真的如此吗?写报表时除了保证数据的准确性,您可曾考虑过报表的性能问题吗? 由于报表程 ...