request对象中封装了当前请求的所有请求信息,
request对象由Tomcat服务器创建, 并作为实参传递给处理请求的Servlet的service()方法
1. 获取请求头数据
// 获取请求方式 System.out.println("请求方式: " + req.getMethod()); // 获取请求URL System.out.println("获取请求URL: " + req.getRequestURL()); // 获取请求URI System.out.println("获取请求URI: " + req.getRequestURI()); // 获取请求协议 System.out.println("获取请求协议: " + req.getScheme());
2. 获取请求行数据
// 获取所有的请求行键的枚举 Enumeration<String> headerNames = req.getHeaderNames(); while(headerNames.hasMoreElements()) { String headerName = headerNames.nextElement(); // 根据指定的键, 获取请求行中对应键的值 System.out.println(headerName + " : " + req.getHeader(headerName)); }
3. 获取用户数据
// 根据键获取用户提交的数据 System.out.println("username : " + req.getParameter("username")); // 如果键不存在, 则获取的数据为null System.out.println("password : " + req.getParameter("aaa")); // 对于同键不同值, req.getParameter()没有办法获取, 会漏值 // 可以用getParameterValues()获取, 得到一个所有值的数组 String[] favs = req.getParameterValues("fav"); if (favs != null) { System.out.print("fav : "); for (String fav : favs) { System.out.print(fav + " "); } System.out.println(""); } // 返回所有用户请求数据的键的枚举 Enumeration<String> params = req.getParameterNames(); while(params.hasMoreElements()) { String param = params.nextElement(); // 根据指定的键, 获取用户请求数据中的键对应的值 // 同键不同值的话, 还是需要用req.getParameterValues()方法 System.out.println(param + " : " + req.getParameter(param)); }