HttpServletRequest相关
一:概念
获取及处理客户端请求过来的参数
总之和HttpServletResponse的功能相对立,HttpServletResponse设置响应给客户端的信息,HttpServletRequest接收客户端传过来的信息
二:主要方法分类
获取请求参数
// 设置前端请求过来的参数编码格式,防止获得参数乱码
void setCharacterEncoding(String var1) throws UnsupportedEncodingException;
// 获取一个返回一个值的前端请求参数
String getParameter(String var1);
// 获取一个返回多个值的前端请求参数
String[] getParameterValues(String var1);
三:常见应用
1.获取前端传递的参数
// 处理后台接收中文乱码问题
req.setCharacterEncoding("UTF-8");
String username = req.getParameter("username");
String[] hobby = req.getParameterValues("hobby");
2.请求转发
// 请求转发
req.getRequestDispatcher("/success").forward(req,resp);
四:重定向和转发的区别
1、请求次数
重定向是浏览器向服务器发送一个请求并收到响应后再次向一个新地址发出请求,转发是服务器收到请求后为了完成响应跳转到一个新的地址;重定向至少请求两次,转发请求一次;
2、地址栏不同
重定向地址栏会发生变化,转发地址栏不会发生变化;
3、是否共享数据
重定向两次请求不共享数据,转发一次请求共享数据
4、跳转限制
重定向可以跳转到任意URL,转发只能跳转本站点资源;
5、发生行为不同
重定向是客户端行为,转发是服务器端行为;