HttpServletRequest 对象详解说明
下文笔者讲述HttpServletRequest对象的详解说明,如下所示:
当客户端通过HTTP协议访问服务器时
HTTP请求头中的所有信息都封装在这个对象中
使用这个对象提供的方法
我们可以获得客户端请求的所有信息
获得客户端信息
获得客户端机器请求头部信息
常用的方法
获得客户请求参数(客户端提交的数据)
HttpServletRequest对象简介说明
HttpServletRequest对象指客户端的请求当客户端通过HTTP协议访问服务器时
HTTP请求头中的所有信息都封装在这个对象中
使用这个对象提供的方法
我们可以获得客户端请求的所有信息
包括 请求的地址 请求的参数 提交的数据 上传的文件客户端的ip甚至客户端操作系统都包含在其内 java中HttpServletRequest专门处理GET/POST请求
HTTP请求协议
a.请求地址(URL) b.请求头(Request headers) c.实体数据(Entity body) ---------------------------------- //HTTP 1.1协议信息 POST /examples/default.jsp HTTP/1.1 Accept: text/plain; text/html Accept-Language: en-gb Connection: Keep-Alive Host: localhost User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98) Content-Length: 33 Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate lastName=javauserName&firstName=javafirstName HttpServletRequest封装了所有的http头部信息,java中就可以通过这个类很容易获取。常用方法
获得客户端信息
getMethod //返回HTTP请求消息中的请求方式。 |
getRequestURI //返回请求行中的资源名部分。 |
getQueryString //返回请求行中的参数部分。 |
getProtocol //返回请求行中的协议名和版本。 |
getContextPath //返回请求资源所属于的WEB应用程序的路径。 |
getPathInfo //返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。 |
getPathTranslated //返回URL中的额外路径信息所对应的资源的真实路径。 |
getServletPath //返回Servlet的名称或Servlet所映射的路径。获取网络连接信息 |
getRemoteAddr //返回发出请求的客户机的IP地址,其格式为“192.168.0.3”这种形式的字符文本。 (*) |
getRemoteHost //返回发出请求的客户机的完整主机名,即“pc1.it315.org”这种格式。 |
getRemotePort //返回发出请求的客户机所使用的网络接口的端口号。 |
getLocalAddr //返回WEB服务器上接收当前请求的网络接口的IP地址。 |
getLocalName //返回WEB服务器上接收当前请求的网络接口的IP地址所对应的主机名。 |
getLocalPort //返回WEB服务器上接收当前请求的网络接口的端口号。 |
getServerName //返回当前请求所指向的主机名。 |
getServerPort //返回当前请求所连接的服务器端口号。 |
getScheme //返回请求的协议名,例如http、https或ftp。 |
getRequestURL //返回客户端发出请求时的完整URL。 |
getHeader(string name) //返回String |
getHeaders(String name) //返回Enumeration |
getHeaderNames方法 |
getIntHeader方法 |
getDateHeader方法 |
getContentType方法 |
getContentLength方法 |
getCharacterEncoding方法 |
String getMethod() 返回这个请求使用的HTTP方法(例如:GET、POST、PUT) |
String getQueryString() 返回这个请求URL所包含的查询字符串。一个查询字串符在一个URL中由一个“?”代表。 |
String getRequestURI() 返回请求的路径 |
HttpSession getSession() 返回一个当前有效的session |
String getParameter(String key) 是从Get或者Post提交的数据中获取数据 |
setAttribute(String name,Object o) 将数据作为request对象的一个属性存放到request对象中,例如:request.setAttribute("data", data); |
getAttribute(String name) 返回获取request对象的name属性的属性值或是session内存在的对象尤服务器端设置,例如:request.getAttribute("data") |
removeAttribute(String name) 移除request对象的name属性,例如:request.removeAttribute("data") |
getAttributeNames 获取request对象的所有属性名,返回的是一个,例如:EnumerationattrNames = request.getAttributeNames(); |
String getHeader("referer") 则是获取上一次请求的url |
getParameter(String)(常用) |
getParameterValues(String name)(常用) |
getParameterNames()(不常用) |
getParameterMap()(编写框架时常用) |
GET/POST请求简介说明
- 两种方式都可向服务器发送数据,Get是从服务器上获取数据,Post则是传输数据给服务器进行增删改等操作
- GET提交:请求的数据会附在URL之后(就是把数据放置在HTTP协议头中)
使用?分割URL和传输数据,多个参数用&连接
如:login.do?name=javaUserName&password=pwd123&verify=%E4%BD%A0 %E5%A5%BD
当数据是英文字母/数字,原样发送,当发送数据是空格,转换为+,当是中文/其他字符,则直接把字符串用BASE64加密 - POST提交:把提交的数据放置在是HTTP包的包体中
- Get限制form表单数据必须为ASCII字符 而Post支持整个ISO10646字符集 <.li>
注意事项 注意表单提交和解析的字符编码集需相同 url中参数也需进行相应的编码处理 网页中的编码尽量使用UTF-8进行编码处理
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。