spring-mvc 非 controller 层获取HttpServletRequest
在项目中记录操作日志,是一种很常见的需求。
有时我们在service或者dao层记录日志,需要同时保存访问ip、登录用户名等。如果从controller层把HttpServletRequest 对象传过去会显得很麻烦。HttpSession可以通过HttpServletRequest 间接获取。
在web.xml配置
<listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener>
在service或者dao中获取HttpServletRequest 的代码如下
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder .getRequestAttributes()).getRequest();
为了方便,可以如上代码提取到一个工具方法中,避免重复。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。