Request应用
HttpServletRequest代表客户端的请求,用户通过Http协议访问服务器,Http请求中的所有信息会被封装到HttpServletRequest,通过这个HttpServletRequest的方法,获取客户端的所有信息。
1. 获取前端传递的参数
主要用到的方法是
req.getParameter();
req.getParameterValues();
用户登录案例:
- jsp页面
<%@ page contentType="text/html; charset-UTF-8" language="java" %>
<html>
<head>
<title>登录</title>
</head>
<body>
<h1>登录</h1>
<div>
<form action="/login" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
爱好:<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="电影">电影
<input type="submit" value="提交">
</form>
</div>
</body>
</html>
- 后端代码
String username = req.getParameter("username");
String password = req.getParameter("password");
String[] hobbies = req.getParameterValues("hobby");
2. 请求转发
req.getRequestDispatcher("/path").forward(req, resp);
也可以通过ServletContext对象实现请求转发:
ServletContext servletContext = this.getServletContext();
RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher("/path");
requestDispatcher.forward(req, resp); //调用forward实现请求转发