HttpServletRequest代表客户端的请求,用户通过Http协议访问服务器,Http请求中的所有消息都被封装到HttpServletRequest,通过这个HttpServletRequest的方法,获取客户端的所有请求
1、获取前端参数
2、请求转发
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Login</title>
</head>
<body>
<%--以post的形式请求--%>
<form action="${pageContext.request.contextPath}/login" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="pwd"><br>
爱好:
<input type="checkbox" name="hobbies" value="游泳">游泳
<input type="checkbox" name="hobbies" value="画画">画画
<input type="checkbox" name="hobbies" value="唱歌">唱歌
<input type="checkbox" name="hobbies" value="玩游戏">玩游戏
<br>
<input type="submit" value="登录">
</form>
</body>
</html>
success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h2>Hello!</h2>
</body>
</html>
web.xml
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.mily.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
LoginServlet
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//处理前端数据 乱码问题
req.setCharacterEncoding("utf-8");
//获取前端参数
String username = req.getParameter("username");
String pwd = req.getParameter("pwd");
String[] hobbies = req.getParameterValues("hobbies");
System.out.println("输出内容:");
System.out.println(username);
System.out.println(pwd);
System.out.println(Arrays.toString(hobbies));
System.out.println(req.getContextPath());
//通过请求转发 request.getRequestDispatcher()是请求转发,前后页面共享一个request
req.getRequestDispatcher("/success.jsp").forward(req,resp);
resp.setCharacterEncoding("utf-8");
}