request和response对象的原理
request和response对象的原理
(1)请求进入tomcat中,tomcat服务器会根据请求url中的资源路径,创建对应的servletdemo对象。
(2)tomcat服务器,会创建request和response对象,request对象中封装请求消息数据
(3)tomcat将request和response两个对象传递给service方法,并且调用service方法
(4)程序员,可以通过request对象获取请求的数据,通过response对象设置响应消息
(5)tomcat会在浏览器作出响应之前,会从response对象中拿到程序员设置的数据返回到浏览器。

总结:
(1)request和response对象由服务器创建,我们只是使用他们
(2)request对象是用来获取请求的数据的
(3)response对象是来设置响应消息的。
request对象继承体系结构
ServletRequest. ----接口
| 继承
HttpServletRequest ----接口
|实现
RequestFacade. ---类
request功能
1.获取请求数据
1.1 获取请求行数据
* GET day14/demo1?name=zhangsan. HTTP/1.1
* 方法:
1.获取请求方式: GET
String getMethod();
2.获取虚拟目录:/day4
String getContextPath();
3.获取servlet路径
String getServletPath();
4.获取get方式请求参数:name=zhangsan
String getQueryString();
5.获取请求URI:/day14/demo1
String getRequestURI();
StringBuffer getRequestURL(); http://localhost/day14/demo1
URI:统一资源标志符 /day14/demo1 共和国
URL:统一资源定位符 http://localhost/day14/demo1 中华人名共和国
6.获取协议版本号
String getProtocol();
7.获取客户机ip地址
String getRemoteAddr();
1.2获取请求头数据
String getHeaser(String name) 通过请求头的名称获取请求头的值
Enumeration<String> getHeaders():获取所有的请求头名称
referer:请求头来源(完全路径)
user-agent:请求来自的浏览器
1.3获取请求体数据
1.请求体:只有post请求方式,才有请求体,在请求体中封装了POST请求参数
步骤:
1.获取流对象
* BufferedReader getReader(): 获取字符输入流,只能操作字符数据
* ServletInputStream getInputStream(): 获取字节输入流,可以操作所有类型
2.再从流中获取数据
2.其他功能
1.获取请求参数的通用方式
String getParameter(String name) :根据参数名称获取参数值
String[] getParaterValues(String name):根据参数名称获取参数值的数据
Enumeration
2.请求转发
3.共享数据
4.获取servletContext
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/15591555.html

浙公网安备 33010602011771号