深入理解ServletRequest与ServletResponse
2015-07-01 11:07
615 查看
原文链接:http://lavasoft.blog.51cto.com/62575/275586
请求和相应是Web交互最基本的模式,在Servlet中,分别用HttpServletRequest与HttpServletResponse来表示Http请求和响应。这两个类均来自javax.servlet.http包,是J2EE Servlet与JSP规范的一部分,因此,谈及
HttpServletRequest与HttpServletResponse的时候,其实都是和Servlet(包括JSP)有关的。与HTML、ASP、PHP是没有关系的,你也无法在HTML中使用它们。
下面是一个详细过程:
一、ServletRequest
代表一个HTTP请求,请求在内存中是一个对象,这个对象是一个容器,可以存放请求参数和属性。
1、请求对象何时被创建,当通过URL访问一个JSP或者Servlet的时候,也就是当调用Servlet的service()、doPut()、doPost()、doXxx()方法时候的时候,执行Servlet的web服服务器就自动创建一个ServletRequest和ServletResponse的对象,传递给服务方法作为参数。
2、请求对象由Servlet容器自动产生,这个对象中自动封装了请求中get和post方式提交的参数,以及请求容器中的属性值,还有http头等等。当Servlet或者JSP得到这个请求对象的时候,就知道这个请求时从哪里发出的,请求什么资源,带什么参数等等。
3、ServletRequest的层次结构
javax.servlet.ServletRequest
javax.servlet.http.HttpServletRequest
4、通过请求对象,可以获得Session对象和客户端的Cookie。
5、请求需要指定URL,浏览器根据URL生成HTTP请求并发送给服务器,请求的URL有一定的规范:
二、ServletResponse
也是由容器自动创建的,代表Servlet对客户端请求的响应,响应的内容一般是HTML,而HTML仅仅是响应内容的一部分。
相应对象有以下功能:
1、向客户端写入Cookie
2、重写URL
3、获取输出流对象,向客户端写入文本或者二进制数据
4、设置响应客户端浏览器的字符编码类型
5、设置客户端浏览器的MIME类型。
三、GET与POST的本质区别
get请求的参数参数在url里面,不安全,post请求的参数放在请求体中,安全。
四、认识MIME类型
请求和相应是Web交互最基本的模式,在Servlet中,分别用HttpServletRequest与HttpServletResponse来表示Http请求和响应。这两个类均来自javax.servlet.http包,是J2EE Servlet与JSP规范的一部分,因此,谈及
HttpServletRequest与HttpServletResponse的时候,其实都是和Servlet(包括JSP)有关的。与HTML、ASP、PHP是没有关系的,你也无法在HTML中使用它们。
下面是一个详细过程:
一、ServletRequest
代表一个HTTP请求,请求在内存中是一个对象,这个对象是一个容器,可以存放请求参数和属性。
1、请求对象何时被创建,当通过URL访问一个JSP或者Servlet的时候,也就是当调用Servlet的service()、doPut()、doPost()、doXxx()方法时候的时候,执行Servlet的web服服务器就自动创建一个ServletRequest和ServletResponse的对象,传递给服务方法作为参数。
2、请求对象由Servlet容器自动产生,这个对象中自动封装了请求中get和post方式提交的参数,以及请求容器中的属性值,还有http头等等。当Servlet或者JSP得到这个请求对象的时候,就知道这个请求时从哪里发出的,请求什么资源,带什么参数等等。
3、ServletRequest的层次结构
javax.servlet.ServletRequest
javax.servlet.http.HttpServletRequest
4、通过请求对象,可以获得Session对象和客户端的Cookie。
5、请求需要指定URL,浏览器根据URL生成HTTP请求并发送给服务器,请求的URL有一定的规范:
二、ServletResponse
也是由容器自动创建的,代表Servlet对客户端请求的响应,响应的内容一般是HTML,而HTML仅仅是响应内容的一部分。
相应对象有以下功能:
1、向客户端写入Cookie
2、重写URL
3、获取输出流对象,向客户端写入文本或者二进制数据
4、设置响应客户端浏览器的字符编码类型
5、设置客户端浏览器的MIME类型。
三、GET与POST的本质区别
get请求的参数参数在url里面,不安全,post请求的参数放在请求体中,安全。
四、认识MIME类型
相关文章推荐
- EazyUI TreeGrid分页、查询
- 【转】Uiautomator Api浅析
- Guice 学习(五)多接口的实现( Many Interface Implementation)
- 《Java程序设计》实训每天一博文之第二天 附:14周作业:GUI初步编程
- 如何让程序员更容易的开发Web界面?重构SmartAdmin展示TinyUI
- True(False) Positives (Negatives), 召回率和精度定义
- Android Studio导入Fresco项目编译报错unable to expand TAR 'imagepipeline\build\downloads\libjpeg-turbo-1.3.1.tar.gz'解决
- UISlider注意事项
- Guice 学习(四)基本属性注入(Field Inject)
- Guice 学习(三)Setter注入(Setter Inject)
- TinyUI组件开发示例
- Incompatible .class files version in required binaries.
- Guice 学习(二)构造器注入(Constructor Inject)
- UILabel 整理
- UIScrollView 自动排序的功能 (高度/宽度不规则格子) 比如聊天界面—扫荡界面
- 用hb_gui 配置heartbeat
- UIScrollView 默认滚动到最底部 --比如聊天界面
- 合并小图片利器TexturePacker GUI
- Access restriction: The type Resource is not accessible due to restriction on required library
- #笔记#圣思园 JavaWeb 第18讲——forward元素,session和request向导式注册,请求转发、重定向