通过请求获取客户端所有数据
运行代码,连接到Http://localhost:8080/s1(当前项目的web地址)
点击提交后,跳转到Http://localhost:8080/s1/login,并转发/success.jsp
代码实现
index.jsp
<html>
<head>登录</head>
<body>
<h1>登录</h1>
<div style="text-align:center">
<%--${pageContext.request.contextPath}表示当前项目web路径--%>
<%--method="post"设置请求方式--%>
<form action="${pageContext.request.contextPath}/login" method="post">
<%@ page pageEncoding="utf-8"%>
用户名:<input type="text" name="username"> <br>
密码:<input type="password" name="password"><br>
爱好:
<input type="checkbox" name="hobbys" value="girls">girls
<input type="checkbox" name="hobbys" value="代码">代码
<input type="checkbox" name="hobbys" value="游戏">游戏
<br>
<input type="submit">
</form>
</div>
</body>
</html>
success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>某个界面</title>
</head>
<body>
<h2>登录成功!</h2>
</body>
</html>
RequestTest.java
/**
* @author tl
*/
public class RequestTest extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置编码方式
req.setCharacterEncoding("utf-8");
//获取所有参数
String username=req.getParameter("username");
String password=req.getParameter("password");
String[] hobbys=req.getParameterValues("hobbys");
System.out.println("================");
System.out.println(username);
System.out.println(password);
System.out.println(Arrays.toString(hobbys));
System.out.println("================");
req.getRequestDispatcher("/success.jsp").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
HttpServletRequest代表浏览器的请求,用户通过Http协议访问服务器,HTTP请求中的所有信息会被封装到HttpServletRequest,通过这个HttpServletRequest的方法,获得浏览器的所有信息。