Spring MVC中的WebRequest和HttpServletRequest

时间:2014-06-21 14:26:22

标签: java spring spring-mvc spring-3

两者有什么区别?两者都有getParameter方法以及setAttribute方法,那么两者之间的区别在哪里?

1)哪一种更适合一般使用?

2)请解释可以使用它们的具体方案。

1 个答案:

答案 0 :(得分:11)

javadoc of WebRequest在这个问题上非常明确:

  

Web请求的通用接口。 主要用于通用Web请求拦截器,使其可以访问常规请求元数据,而不是实际处理请求。

(强调我的)。

javadoc链接到WebRequestInterceptor,它说:

  

一般Web请求拦截的接口。通过构建WebRequest抽象,允许应用于Servlet请求以及Portlet请求环境。

因此,基本上,除了WebRequestInterceptor之外,不应该使用WebRequest。他们引入了这个接口,以便能够编写适用于servlet和portlet的拦截器。除此之外,如果你真的需要访问Spring MVC控制器中的请求,你应该使用标准的HttpServletRequest。