在web。xml中配置一个监听
<listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener>
之后就可以在程序使用了
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
方法二:没测试 http://www.oschina.net/question/274766_101880
我用Spring MVC , 在Controller方法里每次都要写一个HttpServletRequest request参数,Spring才会注入request,然后我就产生了一个神奇的想法,写一个BaseController把request注入,然后其它Controller继承后就不需要再写request就可以直接使用父类的request:
abstract class BaseController { private HttpServletRequest request; public HttpServletRequest getRequest() { return request; } @Resource public void setRequest(HttpServletRequest request) { this.request = request; } }
事实上这么也成功注入了,子Controller可以使用request。