首页 热点资讯 义务教育 高等教育 出国留学 考研考公

HTTP请求是如何被转换成request对象的?

发布网友 发布时间:2022-04-23 02:23

我来回答

2个回答

热心网友 时间:2022-04-21 07:11

Http请求实质上是浏览器帮生成。发送到服务器(Tomcat中),然后在写的代码中就可以用到socket.getInputStream()获取这些信息,Tomcat会帮把这些信息封装成一个request对象,这个request对象中就有了这个请求中的各种信息,tomcat是根据requestUri去分配一个Wrapper容器(一个Servlet分配一个Wrapper容器),容器去实例化这个servlet,调用servlet的init(),service()方法,实质上就是socket.getOutputStream()发送给浏览器,浏览器又解析这些信息,最后网页就呈现出来了。



HTTP请求是指从客户端到服务器端的请求消息。包括:消息首行中,对资源的请求方法、资源的标识符及使用的协议。从客户端到服务器端的请求消息包括,消息首行中,对资源的请求方法、资源的标识符及使用的协议。考虑到局限性更大的HTTP/0.9的向后兼容问题,有两种合法的HTTP请求格式。

请求格式:

请求方法URI协议/版本:

请求的第一行是“方法URI协议/版本”例如:GET/sample.jsp HTTP/1.1以上代码中“GET”代表请求方法,“/sample.jsp”表示URI,“HTTP/1.1代表协议和协议的版本。

请求头(Request Header):

请求头包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。例如:Accept:image/gif.image/jpeg.*/*Accept-Language:zh-cnConnection:Keep-Alive。

热心网友 时间:2022-04-21 08:29

1. request请求对象常用方法:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset = utf-8");
this.response = response;
out = this.response.getWriter();
println("<ol>");
//1. 获取请求方式、处理乱码问题
String method = request.getMethod();

//servletRequest中的方法
request.setCharacterEncoding("utf-8");
//1. 获取请求体的编码方式
String characterEncoding = request.getCharacterEncoding();
println("getCharacterEncoding = " + characterEncoding);

//2. get body length
int contentLength = request.getContentLength();
println("getContentLength = " + contentLength);

//3. MIME type
String mimeType = request.getContentType();
println("getContentType = " + mimeType);

//4. 接收请求的接口的 Internet Protocol (IP) 地址
String ip = request.getLocalAddr();
println("getLocalAddr = " + ip);

//5. 基于 Accept-Language 头,返回客户端将用来接受内容的首选 Locale 客户端语言环境
Locale locale = request.getLocale();
println("getLocale = " + locale);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com