J2EE请求和响应—Servlet
一、什么是Servlet?
Servlet是执行Webserver上的一个特殊Java类。其特殊用途是响应client请求并做出处理。使得client与server端进行交互。
二、生命周期
Servlet生命周期是通过Web容器控制。主要分为下面几个阶段:
- 创建servlet的实例
- 初始化阶段,调用init()方法
- 响应请求。调用service()方法
- 销毁实例,调用destroy()方法
- 实例垃圾回收,调用finalize()方法
三、Servlet中几个重要的方法:
在Servlet生命周期中。servlet的初始化(init())和销毁阶段(destroy())仅仅运行一次。Servic()方法是servlet的核心,主要是用来接收client请求并返回结果给client,每次client请求过来都被调用Service()方法,而且传递个这种方法一个“请求(servletRequest)对象和一个响应(servletResponse)对象做为參数”。
doGet()方法
当接收到Get请求时,Servlet的doGet()方法被调用。与GET 请求相关的參数加入到URL的后面,并与这个请求一起发送。
当不会改动server端的数据时,应该使用doGet()方法。
doPost()方法
当接收到Post请求时,Servlet的doPost()方法被调用。与POST请求相关的參数作为一个单独的HTTP 请求从浏览器发送到server。当须要改动server端的数据时。应该使用doPost()方法。
四、Servlet中的类:
ServletRequest 和ServletReponse在client请求过来的时候,调用Servlet时传递过来的。
其实,我们在创建Servlet类时通常使用的是HttpServletRequest和HttpServletReponse。他们分别代表从client而来的Http请求和处理请求的响应结果
ServletConfig:从图上能够看出,当初始化一个Servlet对象时,就会为这个对象创建一个ServletConfig对象,在ServletConfig对象中包括了Servlet初始化參数信息。此外,Servlet容器在调用servlet对象的init(servletconfig)方法时,会把servletConfig对象当做參数进行传递给Servlet。
ServletConfig接口提供方法,该方法返回:servlet名、Servlet上下文。初始化參数
ServletContext:是Servlet和Servlet容器之间进行通信的接口,其原理看下图:
![]()
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWluZ3h1YW55dW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
ServletContext存在于Web应用其中,当启动一个Web应用时,会自己主动创建一个ServletContext对象。
每个Web应用相应一个ServletContext对象。在Web应用其中能够存放Servlet或JSP。ServletContext提供全局訪问。即全部的对象能够共享一个ServletContext。Servlet对象能够通过getServletContext()方法訪问和操作容器中的各种资源。
ServletConfig 与 ServletContext的差别:
1.作用范围:ServletContext作用于整个Web应用(相当于全局变量)ServletConfig作用于某个特定的Servlet对象。其它的Servlet不能訪问。(相当于局部变量)
2.參数的訪问:ServletContext包括在ServletConfig中,在訪问ServletContext时先调用ServletConfig中的getServletConfig()方法,得到里面的getServletContext()方法。然后再调用getInitParameter()方法就能够获取它的參数。
訪问ServletConfig參数,仅仅须要调用getServletConfig()方法。然后调用getInitParameter()方法就可以。
总结:Servlet技术是JSP技术的基础。都是一种server端技术,是一种client与server反映的端部之间的相互作用。Servlet其核心是Service()方法。Service()调度请求的方法doGest(),doPost()处理。
J2EE请求和响应—Servlet的更多相关文章
- HeadFirst Jsp 04 (请求和响应作为servlet)
servlet 的存在就是为了客服服务, servlet的任务是得到一个客户的请求, 再发回一个响应. 由上图可知, web 容器会在启动后就加载所有的servlet类, 并为之创建实例和初始化 注意 ...
- Java Servlet (1) —— Filter过滤请求与响应
Java Servlet (1) -- Filter过滤请求与响应 版本: Java EE 6 参考来源: Oracle:The Java EE 6 Tutorial: Filtering Reque ...
- 对Servlet请求或响应进行JMockit测试
对Servlet请求及响应进行mock方法, 通过getMockInstance方法对servlet进行打桩,对servlet提供的方法进行mock,替代真正的servlet请求或响应. 参考链接: ...
- Servlet请求和响应
在Java Web中Servlet.请求和响应是最基本的三个对象,在Web容器的管理下,这三者能够完成基本的HTTP请求处理. Servlet的作用是为客户提供服务.servlet的角色是接受一个客户 ...
- Java Web之请求和响应
Servlet最主要作用就是处理客户端请求并作出回应,为此,针对每次请求,Web容器在调用service()之前都会创建两个对象,分别是HttpServletRequest和HttpServletRe ...
- struts2基础——请求与响应、获取web资源
一.请求与响应 Action1.含义:(1) struts.xml 中的 action 元素,也指 from 表单的 action 属性,总之代表一个 struts2 请求.(2) 用于处理 Stru ...
- 浏览器-Tomcat服务器-请求与响应
浏览器访问服务器,本质就是请求资源. 比如请求静态资源:index.html,我们在浏览器地址栏输入:www.a.com/index.html,浏览器为了支持HTTP协议,发送的数据必须符合HTTP协 ...
- http请求头响应头大全
转:http://www.jb51.net/article/51951.htm 本文为多篇“HTTP请求头相关文章”及<HTTP权威指南>一书的阅读后个人汇总整理版,以便于理解. 通常HT ...
- Axis2(10):使用soapmonitor模块监视soap请求与响应消息
在Axis2中提供了一个Axis2模块(soapmonitor),该模块实现了与<WebService大讲堂之Axis2(9):编写Axis2模块(Module)>中实现的logging模 ...
随机推荐
- 关于Delphi XE2的FMX的一点点研究之消息篇
Delphi XE2出来了一阵子了,里面比较抢眼的东西,除了VCLStyle这个换肤的东西之外,另外最让人眼亮的应该是FMX这个东西了.万一的博客上都连载了一票的关于FMX的使用心得了.我还是没咋去关 ...
- Git 图解剖析(转)
git中文件内容并没有真正存储在索引(.git/index)或者提交对象中,而是以blob的形式分别存储在数据库中(.git/objects),并用SHA-1值来校验. 索引文件用识别码列出相关的bl ...
- 《c陷阱与缺陷》笔记--注意边界值
如果要自己实现一个获取绝对值的函数,应该都没有问题,我这边也自己写了一个: void myabs(int i){ if(i>=0){ printf("%d\n",i); }e ...
- 使用XML的五种场合,XML基本规则,XML的术语,结构与语法
在很多研讨会和培训班上我遇到过许多人,他们还不明白为什么要使用XML也不知道如何 在他们的应用中使用XML.一些来自诸如Gartner公司的报告建议说,商业公司不能再做 局外人了,不能对XML置之不理 ...
- uu云验证码识别平台,验证码,验证码识别,全自动验证码识别技术,优优云全自动打码,代答题系统,优优云远程打码平台,uu云打码
uu云验证码识别平台,验证码,验证码识别,全自动验证码识别技术,优优云全自动打码,代答题系统,优优云远程打码平台,uu云打码 优优云验证码识别答题平台介绍 优优云|UU云(中国公司)是全球唯一领先的智 ...
- 8592 KMP算法
8592 KMP算法 时间限制:1000MS 内存限制:1000K 题型: 编程题 语言: 无限制 描写叙述 用KMP算法对主串和模式串进行模式匹配. 本题目给出部分代码.请补全内容. #inc ...
- 每天一个JavaScript实例-动态省份选择城市
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- Delphi中类的运行期TypeInfo信息结构说明
Delphi中类的运行期TypeInfo信息结构说明 CnPack 开源软件项目 2007-09-19 21:55:58 Delphi中类的运行期TypeInfo信息结构说明作者:刘啸CnPack开发 ...
- Oracle“记录被另一个用户锁住” 无法更新删除的解决办法
1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令: select b. ...
- [Cocos2d-x]布局与定位
游戏中,精灵的位置由Position与AnchorPoint同时决定. Scene 锚点 (0,0) 不启用锚点 CCNode锚点 (0,0) 不启用锚点 CCLayer锚点 (0,0) 不启用锚点 ...