spring mvc在service层获取request对象
只知道在用struts2的时候,要在controller层使用request对象,在原有的基础上集成ActionSupport,实现ServletRequestAware最终实现servletRequest的set方法。就可以在action层使用request对象了。
其他的cookie,session,response都可以通过request对象获取到。如果在service层面获取request对象,这个时候使用ServletActionContext就直接可以获取到上下文的request对象
ServletActionContext.getRequest(); //或者使用 ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
在springmvc中怎么获取呢?springmvc现在被热捧,Struts2频繁的爆出漏洞。在设计上,springmvc更灵活,我在controller中的方法里面想获取什么参数就传入什么参数(当然不是胡乱的传值,请求参数,session,request,response这些是允许的)。
但是相同的问题在service层怎么获取request对象的。一个笨办法是把request对象当做参数一层一层的往下传。但是对方法的可读性,维护性太影响了。再说像我这样的代码强迫症患者怎么办。springmvc也和struts2一样,也可以获取。
1、在web.xml中配置监听器
<listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener>
2、在service层通过RequestContextHolder获取
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
若资源对你有帮助,浏览后有很大收获,不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力。
想获取DD博客最新代码,你可以扫描下方的二维码,关注DD博客微信公众号(ddblogs)。
或者你也可以关注我的新浪微博,了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)
如对资源有任何疑问或觉得仍然有很大的改善空间,可以对该博文进行评论,希望不吝赐教。
为保证及时回复,可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)
感谢你的访问,祝你生活愉快、工作顺心、欢迎常来逛逛。