HttpServletRequest的应用

来源:互联网 发布:常微分方程 知乎 编辑:程序博客网 时间:2024/04/30 07:40
 

HttpServletRequest的应用

HttpServletRequest简介

获取请求行的相关信息

获取网络连接信息      

获取请求头信息

浏览器传递参数信息的细节

获取请求参数

获取请求消息的实体内容

利用请求域属性传递信息

请求参数的中文读取问题

WEB客户端发送给WEB服务器的HTTP请求消息分为三个部分:

请求行 POST /demo/login HTTP/1.1

请求消息头

消息正文(也叫实体内容) username=xxxx&password=1234

Servlet API中定义的ServletRequest接口类用于封装请求消息。

HttpServletRequest是专用于HTTP协议的ServletRequest子接口,它用于封装HTTP请求消息。

在service()方法内部调用HttpServletRequest对象的各种方法来获取请求消息。

HTTP请求消息的请求行包括请求方式、资源路径和HTTP协议版本:

       GET /it315/servlet/RequestURI?param1=a&param2=b HTTP/1.1

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方法

getHeaders方法

getHeaderNames方法

getIntHeader方法

getDateHeader方法

getContentType方法

getContentLength方法

getCharacterEncoding方法

Enumeration headerNames = request.getHeaderNames();

while(headerNames.hasMoreElements()){

String headerName = (String)headerNames.nextElement();

     out.print(headerName + " : " + request.getHeader(headerName) + "<br>");

/*如果要考虑同一个请求头名可能出现多次,

那么应该用下面的代码段代替上面一行程序代码*/

       /*Enumeration values = request.getHeaders(headerName);

       while(values.hasMoreElements())      {

              out.print(headerName + " : " + (String)values.nextElement() + "<br>");

       }*/

原创粉丝点击