day102-HttpServletRequest
req.getParameter()
req.getParameterValues()
获取参数
public class LoginServlet 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[] 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); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
设计页面,粗糙
<body> <h1 style="text-align: center">登录</h1> <div style="text-align: center"> <%-- 以post方式提交表单,提交到login--%> <form action="${pageContext.request.contextPath}/login" method="post"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> 爱好: <input type="checkbox" name="hobby" value="吃饭">吃饭 <input type="checkbox" name="hobby" value="睡觉">睡觉 <input type="checkbox" name="hobby" value="游戏">游戏 <input type="checkbox" name="hobby" value="学习">学习 <br> <input type="submit"> </form> </div> </body>
跳转成果页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h1> 欢迎进入 </h1> </body> </html>
请求转发与重定向的区别
相同点:页面都会实现跳转
不同点:
-
请求转发的时候url不会产生变化 307
-
重定向的时候,url地址栏会发生变化 302
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南