HttpServletRequest的方法

本文介绍了如何通过各种方法解析HTTP请求的不同部分,包括请求行、表单参数及实体内容等,为理解HTTP请求提供了实用指南。

获取请求行的相关信息

1. getMethod() 

    该方法返回HTTP请求消息中的请求方式(如GET、POST、HEAD、PUT和、DELETE等),也就是请求行中的第一部分的内容;

2. getRequestURI() 

    该方法返回请求行中的资源名部分,也就是位于URL的主机和端口之后、参数部分之前的那部分内容;

3. getQueryString() 

    该方法返回请求行中的参数部分,也就是资源路径后面的问号(?)以后的所有内容,如果没有参数部分,则返回null;

4. getProtocol() 

    该方法返回请求行中的协议名和版本,即请求行的第三部分;

5. getContextPath() 

    方法返回请求URL所属于的Web应用程序的路径,这个路径以“/”开头(如/collection),表示相对于整个Web站点的根目录,路径结尾不含“/”。如果请求URL属于Web站点的根上当,那么返回结果为空字符串(“”);

6. getPathInfo() /

    该方法返回请求URL中的额外路径信息;

7. getPathTranslated()  

    该方法反回URL中的额外路径信息所对应的资源的真实路径;

8. getServletPath()  

    该方法返回Servlet的名称或Servlet所映射的路径;
例:http://localhost:8080/it315/controller/one.jsp?param1=abc


getMethod: GET

getRequestURI:it315/controller

getQueryString:param1=abc
getProtocol:HTTP/1.1

getContextPath:/it315

getPathInfo:/one.jsp

getPathTranslated:C:\tomcat-5.5.4\webapps\it315\one.jsp

getServletPath:/controller

 

获取表单的请求参数信息

1. getParameter()

  该方法用于返回某个指定名称的参数的值,其完整的语法定义如下:

    public java.lang.String getParameter(java.lang.String name)

2. getParameterValues()

 该方法用于返回HTTP请求消息中同一个参数名所对应的所有参数a值,其完整的语法定义如下:

    public java.lang.String[] getParameterValues(java.lang.String name)

3. getParameterNames()

 该方法用于返回一个包含请求消息中所有请求参数名的Enumeration对象,其完整的语法定义如下:

    public java.util.Enumeration getParameterNames()

4. getParameterMap()

 该方法用于将请求消息中所有的参数名和值装入一个Map对象中返回,其语法定义如下:

    public java.util.Map getParameterMap()

获取请求消息的实体内容

  以POST方式提交FORM表单时,其中的表单字段元素信息都将作为HTTP消息的实体内容(消息正文)发送给Web服务器。对于HTTP请求消息中的实体内容,ServletRequest以输入流的方式提供给Servlet程序读取,ServletRequest接口中定义了如下两个方法:

  <一>getInputStream()  字节输入流对象,如果实体内容中包含二进制数据,那么就只能使用getInputStream方法返回的输入流对象来读取;

  <二>getReader() 字符输入流对象,该方法返回一个代表实体内容的BufferedReader对象,返回的BufferedReader对象将实体内容中的字节数据按照请求消息中指定的字符集编码转换成文本字符串。在调用getReader方法之前,可以调用ServletRequest的setCharacterEncoding方法指定其返回的BufferedReader对象所使用的字符编码,默认为iso8859-1。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值