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));
}