社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
---------------------------------HttpServletRequest介绍和头信息的获取---------------------------------
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了
HttpServletRequest在JavaWeb中非常重要的一个类。它是Servlet的service()方法的参数之一!所以你必须必须要掌握它!
request的功能可以分为以下几种:
String value = request.getHeader(“请求头名称”);
request对象可以用来获取请求头数据,当然,这些请求数据都是Tomcat封装到request中去的。我们在service()方法中可以直接来获取!
request与请求头相关的方法有:
package com.rl.servlet;
import java.io.IOException; import java.util.Enumeration;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //根据投信息的key获得值 String headVal = request.getHeader("Host"); System.out.println("Host:" + headVal); // Host:localhost:8080
//通过getHeaderNames获得所有头名字的Enumeration集合 Enumeration<String> headNames = request.getHeaderNames(); while(headNames.hasMoreElements()){ String headName = headNames.nextElement(); System.out.println(headName+":"+request.getHeader(headName)); } // 打印结果: // host:localhost:8080 // connection:keep-alive // cache-control:max-age=0 // upgrade-insecure-requests:1 // user-agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 // accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 // accept-encoding:gzip, deflate, sdch, br // accept-language:zh-CN,zh;q=0.8
}
} |
request中还提供了与请求相关的其他方法,有些方法是为了我们更加便捷的方法请求头数据而设计,有些是与请求URL相关的方法。
http://localhost:8080/hello/oneServlet?name=zhangSan
System.out.println("request.getContentLength(): " + request.getContentLength()); System.out.println("request.getContentType(): " + request.getContentType()); System.out.println("request.getContextPath(): " + request.getContextPath()); System.out.println("request.getMethod(): " + request.getMethod()); System.out.println("request.getLocale(): " + request.getLocale());
System.out.println("request.getQueryString(): " + request.getQueryString()); System.out.println("request.getRequestURI(): " + request.getRequestURI()); System.out.println("request.getRequestURL(): " + request.getRequestURL()); System.out.println("request.getServletPath(): " + request.getServletPath()); System.out.println("request.getRemoteAddr(): " + request.getRemoteAddr()); System.out.println("request.getRemoteHost(): " + request.getRemoteHost()); System.out.println("request.getRemotePort(): " + request.getRemotePort()); System.out.println("request.getScheme(): " + request.getScheme()); System.out.println("request.getServerName(): " + request.getServerName()); System.out.println("request.getServerPort(): " + request.getServerPort()); |
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!