HttpServletRequest

tech2025-10-05  1

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

Request常用方法

获得客户机信息

getRequestURL方法返回客户端发出请求时的完整URL。getRequestURI方法返回请求行中的资源名部分。getQueryString 方法返回请求行中的参数部分。getPathInfo方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。getRemoteAddr方法返回发出请求的客户机的IP地址。getRemoteHost方法返回发出请求的客户机的完整主机名。getRemotePort方法返回客户机所使用的网络端口号。getLocalAddr方法返回WEB服务器的IP地址。getLocalName方法返回WEB服务器的主机名。 @RestController public class UserController { @PostMapping("/login") public void login(HttpServletRequest request) { System.out.println(request.getRequestURL());//http://localhost:8080/login System.out.println(request.getRequestURI());///login System.out.println(request.getQueryString());//null System.out.println(request.getPathInfo());//null System.out.println(request.getRemoteAddr());//0:0:0:0:0:0:0:1 System.out.println(request.getRemoteHost());//0:0:0:0:0:0:0:1 System.out.println(request.getRemotePort());//60669 System.out.println(request.getLocalAddr());//0:0:0:0:0:0:0:1 System.out.println(request.getLocalName());//0:0:0:0:0:0:0:1 } }

获得客户机请求头

getHeader(string name)方法:StringgetHeaders(String name)方法:EnumerationgetHeaderNames()方法 @RestController public class UserController { @PostMapping("/login") public void login(HttpServletRequest request) { Enumeration<String> reqHeadInfos = request.getHeaderNames();//获取所有的请求头 while (reqHeadInfos.hasMoreElements()) { String headName = (String) reqHeadInfos.nextElement(); System.out.println(request.getHeader(headName)); } System.out.println(); System.out.println(request.getHeader("Accept-Encoding")); System.out.println(request.getHeaderNames()); } } PostmanRuntime/7.26.3 */* no-cache 769ff68c-b0a9-4160-acf9-fd608d1c6bc4 localhost:8080 gzip, deflate, br keep-alive 0 gzip, deflate, br org.apache.tomcat.util.http.NamesEnumerator@29ac4054

获得客户机请求参数(客户端提交的数据)

getParameter(String)方法(常用)getParameterValues(String name)方法(常用)getParameterNames()方法(不常用)getParameterMap()方法(编写框架时常用)
最新回复(0)