14_Request对象

时间:2023-12-06 17:08:50

【HttpServletRequest简介】

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获取客户端的这些信息。

【获取当前请求的URI和URL】

request.getRequestURI();   //返回客户端发出请求的完整URL
request.getRequestURL(); //返回客户端发出请求的请求行中的资源名部分

【获取 当前请求行中的参数部分】

request.getQueryString();

【获取 当前发出请求的客户端的IP地址】

request.getRemoteAddr();

【获取当前发出请求的客户端的完整主机名】

request.getRemoteHost();

【获取当前发出请求的客户端的网络端口号】

request.getRemotePort();

【返回Web服务器的IP地址】

request.getLocalAddr();

【返回Web服务器的主机名】

request.getLocalName();

【返回当前客户端请求的请求方式】

request.getMethod();

【使用request获取请求头相关的方法(使用了Servlet3.0)】

[ QWE.java (Servlet)]

package com.Higgin.servlet;

import java.io.IOException;
import java.util.Enumeration; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; @WebServlet("/QWE")
public class QWE extends HttpServlet {
private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("Accept-Encoding:"+request.getHeader("Accept-Encoding")); System.out.println("--------------遍历Accept-Encoding中所有的value------------------");
Enumeration e=request.getHeaders("Accept-Encoding");
while(e.hasMoreElements()){
String value=(String) e.nextElement();
System.out.println(value);
}
System.out.println("-------------遍历所有的请求头的名字和属性-------------------");
Enumeration ehs=request.getHeaderNames(); //获取所有的请求头名字
while(ehs.hasMoreElements()){
String name=(String) ehs.nextElement();
String value=request.getHeader(name);
System.out.println(name+" ----- "+value);
}
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
} }

【运行结果】

[ 客户端浏览器 ]

14_Request对象

[ 服务端控制台 ]

14_Request对象

【获取POST/GET传递的参数】

String name=request.getParameter("name");  //获取一个参数
String[] names=request.getParameterValues("names"); //获取多个参数
Enurmation<String> names=request.getParameterNames(); //将发送请求页面中form表单里所有具有name属性的表单对象获取(包括button).返回一个Enumeration类型的枚举.