[SPRING] 스프링 MVC, 앞으로
SPRING스프링 MVC, 앞으로
사이에 어떤 차이가 있습니까?
public class Controller1 extends AbstractController {
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
return new AnotherController().handleRequest(request, response);
}
}
과
@Controller
public class Controller1 {
@RequestMapping ...
public String handleRequest() {
return "forward:/path_to_my_another_controller";
}
}
해결법
-
==============================
1.그들은 비슷하지만 완전히 동일하지 않습니다.
그들은 비슷하지만 완전히 동일하지 않습니다.
두 번째 방법은 두 번째 컨트롤러로 전달되는 새로운 내부 요청을 생성하는 반면, 첫 번째 요청은 동일한 요청 개체를 다시 사용합니다.
그 문제의 중요성 여부는 각 컨트롤러가 요청에 대해하는 일에 달려 있습니다.
직접 메소드 호출을 사용하는 체인 컨트롤러가 Spring 주석 컨트롤러의 더 매력적인 측면 중 하나임을 발견했습니다. 전달 된 요청을 처리하는 것보다 훨씬 자연스러운 흐름을 만들 수 있습니다.
언제나 그렇듯이 마일리지는 다를 수 있습니다.
-
==============================
2.컨트롤러를 직접 생성함으로써, Spring이 의존성을 주입하는 것을 막을 수 있습니다. 이로 인해 자체 생성 컨트롤러가 올바르게 작동하지 않을 수 있습니다.
컨트롤러를 직접 생성함으로써, Spring이 의존성을 주입하는 것을 막을 수 있습니다. 이로 인해 자체 생성 컨트롤러가 올바르게 작동하지 않을 수 있습니다.
이런 컨트롤러를 체인해야한다면, 새로운 컨트롤러로 컨트롤러를 생성하는 대신 원하는 컨트롤러의 인스턴스를 Spring 애플리케이션 컨텍스트에 요청할 것입니다.
from https://stackoverflow.com/questions/2997866/spring-mvc-forward by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring RESTful 서비스에서 커스텀 JSON 객체 생성 및 사용 (0) | 2019.02.10 |
---|---|
[SPRING] 스프링 자동 와이어 링은 인터페이스에서만 작동합니다. (0) | 2019.02.10 |
[SPRING] Tomcat에서 JAR 대신 WAR로 Spring RESTful 서비스 (0) | 2019.02.10 |
[SPRING] 실제 웹 요청 이외의 요청 범위 Bean 사용 (0) | 2019.02.10 |
[SPRING] 두 개의 항아리 사이의 Spring Boot 및 @ComponentScan (0) | 2019.02.10 |