如何在Spring中取得Request对象

Posted 百里马

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Spring中取得Request对象相关的知识,希望对你有一定的参考价值。

这里首先需要说明一点的是,下面讲的获取Request对象都是在Controller层中进行的操作。因为对于Controller来说,若要用到Request对象的话,直接在方法签名中声明一个HttpServletRequest对象就可以了。另外作为一个良好的Controller-Service-Dao架构,HttpServletRequest对象也不应该出现在Service层或Dao层中,那么其实也就是在一些通用的工具类中才会需要用到它。OK,下面开始正题:

注解

public class TestUtil 
    @Autowired  
    private HttpServletRequest request; //这里可以获取到request

配置Listener

web.xml中配置一个RequestContextListener

<listener>  
    <listener-class>  
        org.springframework.web.context.request.RequestContextListener  
    </listener-class>  
</listener>  

配置完成之后,在代码中就可以获取到Request对象了

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
                .getRequestAttributes()).getRequest();
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder
                .getRequestAttributes()).getResponse();

如果有Struts

HttpServletRequest request = ServletActionContext.getRequest(); 

以上是关于如何在Spring中取得Request对象的主要内容,如果未能解决你的问题,请参考以下文章

在spring如何获取request 对象

内置对象之request对象

Spring中如何获取request的方法汇总及其线程安全性分析

转载 ASP.NET中如何取得Request URL的各个部分

java中request是个啥东东,干啥用的?

Spring中获取request的几种方法,及其线程安全性分析