spring mvc在service层获取request对象
2017-12-25 13:31:27  By: dwtedx

只知道在用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的留言板)

感谢你的访问,祝你生活愉快、工作顺心、欢迎常来逛逛。


快速评论


技术评论

    • 845224315@qq.com 2018-01-17 10:31:24  1 评  | 回复

      2018网赚新项目,抢先机--我的座右铭:做不到日赚万元,死不瞑目!一辈子只做好一件事! 1.2018年最有潜力的赚钱项目,目前红利期不要错过。 2.稳定,每天赚个500-1000左右,我已经持续了一个多月,不然我也教不了你。 3.正规项目,可以长期操作。真正想赚钱的我可以教你,你赚了钱再来拜师。 4.好项目经得起考验,绝对不是垃圾项目,说的再好,你不做也是枉然。 5.虽然我不是大师,但是我能带你月赚万元绝没问题,直接复制我的就OK,不懂手把手教。 做网赚,别想一步登天,不是每个人都能赚钱的。如果,你没有坚定的信念,还是老老实实去上 班吧! 想清楚了再加我的微信,我要的是你勇往向前的决心,微信sgvg6666 (写验证码126,加我必通过) 我的座右铭:做不到日赚万元,死不瞑目!一辈子只做好一件事!


DD记账
top
+