HttpServletRequest
HttpServletRequest代表客户端的请求,用户通过Http协议访问服务器,HTTP请求中的所有信息会被封装到HttpServletRequest,通过这个HttpServletRequest的方法,获得客户端的所有信息;|
获取前端请求的参数、请求转发
1.新建一个web项目,导入jsp和servlet的依赖。
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.3</version> <scope>provided</scope> </dependency>
2.修改index.jsp页面,新增登录成功页面。
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录</title>
</head>
<body>
<h1>登录</h1>
<div>
<form action = "${pageContext.request.contextPath}/login" method = "post">
用户名:<input type = "text" name = "userName" /> </br>
密码:<input type = "password" name = "password" /> </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">
</form>
</div>
</body>
</html>success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录成功</title> </head> <body> <h1>登录成功</h1> </body> </html>
3.新增LoginServlet类,并在web.xml里面注册配置
LoginServlet
package com.allen.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;
public class LoginServlet 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("hobbies");
System.out.println(userName);
System.out.println(password);
System.out.println(Arrays.toString(hobbies));
//请求转发
req.getRequestDispatcher("/success.jsp").forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="true"> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.allen.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> </web-app>
4.启动tomcat测试
输入参数,点击提交:

页面成功跳转:

接下来我们看一下后台有没有接收到数据:
