HttpServletRequest 对象详解说明

java-教程王 Servlet 发布时间:2022-01-01 18:30:40 阅读数:6817 1
下文笔者讲述HttpServletRequest对象的详解说明,如下所示:

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请求简介说明

  1. 两种方式都可向服务器发送数据,Get是从服务器上获取数据,Post则是传输数据给服务器进行增删改等操作
  2. GET提交:请求的数据会附在URL之后(就是把数据放置在HTTP协议头中)
    使用?分割URL和传输数据,多个参数用&连接
    如:login.do?name=javaUserName&password=pwd123&verify=%E4%BD%A0 %E5%A5%BD
    当数据是英文字母/数字,原样发送,当发送数据是空格,转换为+,当是中文/其他字符,则直接把字符串用BASE64加密
  3. POST提交:把提交的数据放置在是HTTP包的包体中
  4. Get限制form表单数据必须为ASCII字符 而Post支持整个ISO10646字符集 <.li>
注意事项
    注意表单提交和解析的字符编码集需相同
	url中参数也需进行相应的编码处理
	网页中的编码尽量使用UTF-8进行编码处理
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/Servlet/202201/237.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者