HttpServletRequest代表 客户端的请求,用户通过Http协议访问服务器:HTTP请求中的所有信息会被封装到HttpServletRequest,通过这个HttpSerevletRequest的方法,获得客户端的所有信息;
<h1>登录</h1> <div> <%--这里表单表示的意思;以post方式提交表单,提交到我们的login请求--%> <form method="post" action="${pageContext.request.contextPath}/login"> 账号:<input type="text" name="username" > 密码:<input type="text" name="password" > <input type="checkbox" name="hobby" value="女孩" >女孩 <input type="checkbox" name="hobby" value="音乐" >音乐 <input type="checkbox" name="hobby" value="游戏" >游戏 <input type="submit"> </form> </div>
下面是提交到的页面进行处理的方式
public class request extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); String username = req.getParameter("username"); String password = req.getParameter("password"); String[] hobbies = req.getParameterValues("hobby"); System.out.println("====================="); System.out.println(username); System.out.println(password); System.out.println(Arrays.toString(hobbies)); System.out.println("====================="); //通过请求转发 req.getRequestDispatcher("/success.jsp").forward(req,resp); }
面试题:请你聊一聊重定向和转发的区别
相同点
* 页面都会实现跳转
不同点
* 请求转发的时候,url不会产生变化 307
* 重定向的时候,url地址栏会发生变化 302