2014-06-21 5 views
4

둘 사이의 차이점은 무엇입니까? 둘 다 getParameter 방법과 setAttribute 방법을 가지고 있는데, 둘 사이의 차이점은 무엇입니까?Spring MVC의 WebRequest 및 HttpServletRequest

1) 어느 것이 일반적으로 사용하는 것이 더 낫습니까?

2) 사용 가능한 특정 시나리오를 설명하십시오.

답변

8

javadoc of WebRequest 주제에 꽤 분명하다 : 웹 요청에 대한

일반 인터페이스를 제공합니다. 일반적으로 일반적인 웹 요청 인터셉터를 대상으로하며 요청의 실제 처리가 아닌 일반 요청 메타 데이터에 대한 액세스를 제공합니다.

(강조 광산).

말한다 WebRequestInterceptor,에 javadoc의 링크 :

인터페이스를 일반 웹 요청을 차단합니다. WebRequest 추상화를 기반으로 포틀릿 요청 환경 및 포틀릿 요청 환경에 적용될 수 있습니다.

기본적으로 WebRequest는 WebRequestInterceptor를 제외하고는 사용하면 안됩니다. 서블릿과 포틀릿에 적용되는 인터셉터를 작성하기 위해이 인터페이스를 도입했습니다. 그 외, Spring MVC 컨트롤러에서 요청에 실제로 액세스해야하는 경우에는 표준 HttpServletRequest를 사용해야한다.

+0

JavaDoc 참조에 대한 해석은 참조 문서와 직접적으로 모순됩니다. 컨트롤러의 요청 매핑 메소드에 대해 지원되는 인수 유형 중에 "org.springframework.web.context.request.WebRequest' 항목이 있습니다. 또는 org.springframework.web.context.request.NativeWebRequest' 네이티브 Servlet/Portlet API에 관계없이 요청/세션 속성 액세스뿐 아니라 일반 요청 매개 변수 액세스도 허용합니다. " 'HttpServletRequest' 대신에 그것을 사용하는 것의 차이점과 이점에 대해서도 설명합니다. –