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服务器运行! 配置信息: ...
随机推荐
- QCustomplot使用分享(六) 坐标轴和网格线
一.概述 前边已经写了5篇对QCustomPlot的讲解,看过上述的几篇文章后,基本就能做一些简单的使用了,但是如果想要做到高度的控制图表,那么坐标轴将是很重要的一部分,因为坐标轴就是图表的一个参考系 ...
- [JS] JavaScript由浅入深(1) 基本特性
1.全局变量的特性: 在函数体内直接写的变量(未用var标志)自动升级为全局变量. (function func() { i = 100; }()); alert(i); 非常不建议不写var. va ...
- 《构建之法》第8、9、10章 读书笔记和Sprint总结
第八章:需求分析 这章主要解析了需求的多面方面,不同的项目需要不同的手段,真正的需求稍纵即逝,需要靠火眼金睛和敏捷的身手来发现并抓住它们.另外,很多时候用户并不知道自己确切的需求,或者不愿意表达完整的 ...
- UnityShader快速上手指南(一)
简介 引言 其实网上有很多shader教程,但是大概看了下,也不知是网上各位大神已经脱离了代码层面的高度还是啥原因.貌似没有找到从代码方面作为入门讲解的,导致了shader对于苦逼程序员入门有一定要求 ...
- 论httpclient上传带参数【commons-httpclient和apache httpclient区别】
需要做一个httpclient上传,然后啪啪啪网上找资料 1.首先以前系统中用到的了commons-httpclient上传,找了资料后一顿乱改,然后测试 PostMethod filePost = ...
- 在Eclipse中配置Tomcat时,出现Cannot create a server using the selected type错误
在eclipse中配置Tomcat时,出现Cannot create a server using the selected type错误 原因:Tomcat被删除或者是重新安装,并且安装目录改变了. ...
- 你还记的那一年你我学习的-->>用表组织数据*(数据表)
不知不觉,踏上IT之路,光阴似箭,日月如梭.虽好像回到从前,回到那个无忧无虑的童年,回到那个花样少年的青春;回到那个年少幼稚的小学;回到那个整天幻想的初中;回到那个顽强不屈,誓死不弃的高中;回到那个整 ...
- ahjesus配置vsftpd和xinetd
vsftpd的简单配置参考此教程 传送门 教程内xinetd的配置失效, 用xinetd方式启动ftp方式如下 1.在/etc/xinetd.d/目录中创建一个文件vsftpd 内容如下: servi ...
- memcache与memcached扩展的区别
一.服务端 之前理解错误了.服务端只有一个memcache,一般把服务端称作memcached(带d),是因为守护进程的名称就是叫做memcached(一个这样的执行程序文件). 编写的语言:c语言 ...
- oGrid 初探
oGrid 是个还蛮有趣的 pure JavaScript grid 控件 code 并不多而且是纯 JavaScript 写成,一条小龙觉得还算蛮好理解,不像其他几乎都是用 Jquery 为 bas ...