request对象学习
/**
* request对象学习:
* 作用:request对象中封存了当前请求的所有请求信息
* 使用:
* 获取请求头数据
* req.getMethod();//获取请求方式
* req.getRequestURL();//获取请求URL信息
* req.getRequestURI();//获取请求URI信息
* req.getScheme();//获取协议
* 获取请求行数据
* req.getHeader("键名");//返回指定的请求头信息
* req.getHeaderNames();//返回请求头的键名的枚举集合
* 获取用户数据
* req.getParameter("键名");//返回指定的用户数据
* req.getParameterValues("键名");//返回同键不同值的请求数据(多选),返回的数组。
* req.getParameterNames()//返回所有用户请求数据的枚举集合
* 注意:
* 如果要获取的请求数据不存在,不会报错,返回null。
*
* 注意:
* request对象由tomcat服务器创建,并作为实参传递给处理请求的servlet的service方法。
*/
method.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="RequestServlet" method="post">
用户名:<input type="text" name="uname" value=""><br>
密码: <input type="text" name="pwd" value=""><br>
<input type="submit" value="登录" >
爱好:<br />
<input type="checkbox" name="fav" value="1"/>唱歌<br />
<input type="checkbox" name="fav" value="2"/>跳舞<br />
<input type="checkbox" name="fav" value="3"/>游泳<br />
</form>
</body>
</html>
RequestServlet.java
package cn.hanquan.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;
/**
-
Servlet implementation class RequestServlet
*/
public class RequestServlet extends HttpServlet {@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 获取请求头数据
// 获取请求方式 // 输出
String method = req.getMethod();
System.out.println(method); // POST
// 获取请求URL
StringBuffer url = req.getRequestURL();
System.out.println(url); // http://localhost:8080/01-MyServlet/RequestServlet
// 获取URI
String uri = req.getRequestURI();
System.out.println(uri); // /01-MyServlet/RequestServlet
// 获取协议
String h = req.getScheme();
System.out.println(h); // http// 获取请求行数据 // 获取指定请求行信息 String value = req.getHeader("User-Agent"); System.out.println(value); // Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0 // 获取所有请求行键枚举 Enumeration e = req.getHeaderNames(); while (e.hasMoreElements()) { String name = (String) e.nextElement(); String value1 = req.getHeader(name); System.out.println(name + ":" + value1); } // 输出: // host:localhost:8080 // user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0 // accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 // accept-language:zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 // accept-encoding:gzip, deflate // content-type:application/x-www-form-urlencoded // content-length:21 // connection:keep-alive // referer:http://localhost:8080/01-MyServlet/method.jsp // cookie:JSESSIONID=0C3253D72B8F4F612E6500CB85FCAC46 // upgrade-insecure-requests:1 // 获取用户数据(用户提交的表单) String name = req.getParameter("uname"); String pwd = req.getParameter("pwd"); System.out.println(name + ":" + pwd);// xiaoming:123456 String[] favs = req.getParameterValues("fav"); if (favs != null) { for (String fav : favs) { System.out.println(fav); } }
}
}