本文主要是介绍HttpServletRequest对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.作用
主要作用是用来接收客户端发送过来的请求信息,由servlet容器封装好传递给service()方法
2.常用方法
常用方法 | 描述 |
---|---|
StringBuffer getRequestURL() | 获取客户端发送请求时的完整URL |
String getRequestURI() | 获取请求行中的资源名称部分(项目名称开始) |
String getQueryString() | 获取请求行中的参数部分 |
String getMethod() | 获取请求方式类型 |
String getContextPath() | 获取webapp名称 |
String getParameter(String name) | 获取指定名称的参数 |
String[] getParameterValues(String name) | 获取指定名称参数的所有值 |
3.解决请求中文乱码问题
请求信息的编码方式是UTF-8,Servlet默认解码方式为ISO-8859-1
GET请求中文乱码问题的解决方案为将tomcat的版本升级到8以上
POST请求中文乱码问题的解决方案为在接收所有的数据之前设定解码方式为UTF-8
req.setCharacterEncoding("UTF-8");
4.请求转发
请求转发是一种服务器行为,当客户端请求到达后,服务器进行转发,此时会将请求对象进行保护,地址栏中的URL地址不会改变,得到响应后,服务器再将响应发送给客户端,从始至终只有一个请求发出
注:无法完成向服务器外部资源请求转发
req.getRequestDispatcher(URL).forward(req, resp);
5.HttpServletRequest对象作用域
通过HttpServletRequest对象可以在一次请求中传递和共享数据,作用范围:在一次请求中有效(请求转发的过程中有效)
常用方法 | 描述 |
---|---|
void setAttribute(String var1, Object var2) | 添加一个域数据 |
Object getAttribute(String var1) | 获取一个域数据 |
void removeAttribute(String var1) | 移除一个域数据 |
这篇关于HttpServletRequest对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!