request对象请求参数过多,可以将数据封装到对象,使用BeanUtils解决这个问题
- 设置一个登录页面准备提交表单数据(username、password)
- 导入BeanUtils相关jar包
- 创建Servlet获取请求参数
- 调用BeanUtils.populate方法封装数据
登录页面 login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="RegisterServlet" method="get">
用户名<input type="text" name="username"><br/>
密码<input type="password" name="password"><br/>
<input type="submit" value="登录">
</form>
</body>
</html>
所需BeanUtils相关jar包
commons‐beanutils‐1.8.3.jar
commons‐logging‐1.1.1.jar
RegisterServlet(servlet3.0)
@WebServlet(name = "RegisterServlet",urlPatterns = "/RegisterServlet")
public class RegisterServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
Map<String, String[]> map = request.getParameterMap();
User user = new User();
try {
//将map所得到的表单数据封装到user实体类
BeanUtils.populate(user,map);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}