springmvc获取HttpServletRequest对象
2014-08-07 14:00
344 查看
spring mvc在普通类中获取HttpServletRequest对象需要做2个步骤:
1、在web.xml文件中加如下配置
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener </listener-class>
</listener>
在RequestContextListener类中有如下代码,其中红色标注的为关键代码:
public class RequestContextListener implements ServletRequestListener {
...
...
...
public void requestInitialized(ServletRequestEvent requestEvent) {
if (!(requestEvent.getServletRequest() instanceof HttpServletRequest)) {
throw new IllegalArgumentException("");
}
HttpServletRequest request = (HttpServletRequest) requestEvent.getServletRequest();
ServletRequestAttributes attributes = new ServletRequestAttributes(request);
request.setAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE, attributes);
LocaleContextHolder.setLocale(request.getLocale());
RequestContextHolder.setRequestAttributes(attributes);
}
...
...
...
}
public class ServletRequestAttributes extends AbstractRequestAttributes {
...
...
...
private final HttpServletRequest request;
...
...
...
/**
* Create a new ServletRequestAttributes instance for the given request.
* @param request current HTTP request
*/
public ServletRequestAttributes(HttpServletRequest request) {
Assert.notNull(request, "Request must not be null");
this.request = request;
}
}
2、在普通类中获取对象
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
1、在web.xml文件中加如下配置
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener </listener-class>
</listener>
在RequestContextListener类中有如下代码,其中红色标注的为关键代码:
public class RequestContextListener implements ServletRequestListener {
...
...
...
public void requestInitialized(ServletRequestEvent requestEvent) {
if (!(requestEvent.getServletRequest() instanceof HttpServletRequest)) {
throw new IllegalArgumentException("");
}
HttpServletRequest request = (HttpServletRequest) requestEvent.getServletRequest();
ServletRequestAttributes attributes = new ServletRequestAttributes(request);
request.setAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE, attributes);
LocaleContextHolder.setLocale(request.getLocale());
RequestContextHolder.setRequestAttributes(attributes);
}
...
...
...
}
public class ServletRequestAttributes extends AbstractRequestAttributes {
...
...
...
private final HttpServletRequest request;
...
...
...
/**
* Create a new ServletRequestAttributes instance for the given request.
* @param request current HTTP request
*/
public ServletRequestAttributes(HttpServletRequest request) {
Assert.notNull(request, "Request must not be null");
this.request = request;
}
}
2、在普通类中获取对象
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
相关文章推荐
- springmvc在普通类中获取HttpServletRequest对象
- springmvc 从本地线程获取HttpServletRequest , HttpServletResponse 对象
- springMvc源码学习之:利用springMVC随时随地获取HttpServletRequest等对象
- springmvc获取HttpServletRequest对象
- java-springmvc4-几种获取 HttpServletRequest 对象的方式
- springmvc在普通类中获取HttpServletRequest对象
- SpringMVC 学习 01 - springmvc在普通类中获取HttpServletRequest对象
- 使用拦截器获取HttpServletResponse 对象,HttpServletRequest对象
- Spring获取HttpServletRequest对象
- JSF(Java Server Face) 框架中如何获取传统的HttpSession或HttpServletRequest对象
- springmvc HttpServletRequest 获取c:forEach 的值
- SpringMVC Shiro 上传文件时,获取的是ShiroHttpServletRequest,如何转换成MultipartHttpServletRequest
- springMVC参数的传递方式(1.通过@PathVariabl获取路径参数,2.@ModelAttribute获取数据,3.HttpServletRequest取参,4@RequestParam)
- springMVC参数的传递方式(1.通过@PathVariabl获取路径参数,2.@ModelAttribute获取数据,3.HttpServletRequest取参,4@RequestParam)
- SpringMVC——使用RequestDispatcher.include()和HttpServletResponseWrapper动态获取jsp输出内容
- Action中获取HttpServletRequest对象的方法(表单提交值,url传递参数)
- httpServletRequest对象获取请求消息头
- Struts2的Action中获取HttpServletRequest对象
- 由于浏览器版本造成的HttpServlet获取request请求对象中含中文乱码问题
- 基于jersey的pojo对象如何获取HttpServletRequest对象