springmvc在普通类中获取HttpServletRequest对象
2015-11-18 00:00
666 查看
摘要: springmvc在普通类中获取HttpServletRequest对象
springmvc普通类获取HttpServletRequest对象
spring mvc在普通类中获取HttpServletRequest对象需要做2个步骤:
1、在web.xml文件中加如下配置
[html] view plaincopyprint?
<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对象
分类: Spring MVC 2014-09-19 22:01 3144人阅读 评论(0) 收藏 举报springmvc普通类获取HttpServletRequest对象
spring mvc在普通类中获取HttpServletRequest对象需要做2个步骤:
1、在web.xml文件中加如下配置
[html] view plaincopyprint?
<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();
相关文章推荐
- HTTP状态吗
- iOS 9不能使用http
- UIImageview 显示网络图片及问题
- iOS - 网络数据加载等待页面的简单实现
- HTTP协议常用字段
- HTTP 方法GET 和 POST区别
- Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form me
- Android开发手记(29) 基于Http的LaTeX数学公式转换器
- WIN2003下休眠后无线连接无法连接
- Android Http通信(HttpURLConnection)
- HTTP协议是无状态协议
- Android 网络编程 初级入门(一)
- 负载均衡与HTTP加速
- 比ngx_http_substitutions_filter_module 更强大的替换模块sregex的replace-filter-nginx-module
- 【计算机网络】子网掩码什么用?什么是网段?什么叫做在“同一网段”?
- SNS背后的科学(1)从六度分隔到无尺度网络
- tinyproxy搭建正向http/https代理
- CFURL或CFURLConnection错误
- (网络)计算机网络基础知识点
- TCP(传输控制协议)