티스토리 뷰

컨트롤러 객체 없이 뷰에 요청 전달하기

 웹 애플리케이션에서 요청이 오면 그에 해당하는 컨트롤러 객체가 필요하다. 하지만 단순 페이지만 사용자에게 보여주기 위해서는 굳이 컨트롤러 객체가 필요하지 않을 수 있다. 아래 예제를 통해 알아보았다.

 

예제

WebConfig.java

@Configuration
public class WebConfig implements WebMvcConfigurer {

	@Override
	public void addViewControllers(ViewControllerRegistry registry) {
		// 요청 url: /
		registry.addViewController("/").setViewName("home");
		
		// 요청 url: /no-view, 요청 페이지 없음
		registry.addViewController("/no-view").setViewName("noView");
		
		// 요청 url: /view, 페이지 경로: view/view
		registry.addViewController("/view").setViewName("view/view");
		
		// 요청 url: /view, 페이지 경로: view/view2, 요청 url 중복일 때
		registry.addViewController("/view").setViewName("view/view2");
		
	}
}

 위의 코드를 보면 WebConfig 클래스가 WebMvcConfiguer를 상속받았고 addViewControllers 메서드를 구현하였다. 그리고 해당 메서드의 내부를 보면 요청 url과 url에 대한 페이지를 적용할 수 있다.

 

페이지 경로

 

실행 결과

 

 1. 정상 출력

 

2. 요청 url에 대한 페이지가 없을 때

 

3. 요청 url이 중복시 마지막에 적용한 페이지가 호출

 

정리

 단순 페이지를 호출할 경우 불필요한 컨트롤러 객체가 생길 수 있다. 하지만 위와 같이 WebMvcConfiguer를 구현한 객체를 통해 메서드를 구현하면 객체 없이 요청에 대한 페이지를 적용할 수 있다. 하지만 같은 url를 등록할 경우 마지막에 적용한 페이지가 호출된다.

댓글
최근에 올라온 글
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함
Total
Today
Yesterday