Web

Ch11. MVC 1 : 컨트롤러 구현 없는 경로 매핑

tose33 2022. 7. 15. 17:20

WebMvcConfigurer 인터페이스의 addViewControllers 메서드 

 

다음은 회원가입 완료 화면 뷰인 step3.jsp 파일이다.

<%@ page contentType="text/html; charset=utf-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html>
<head>
	<title>회원가입</title>
</head>
<body>
	<p><strong>${registerRequest.name}님 </strong>
	회원 가입을 완료했습니다.</p> 
	<p><a href="<c:url value='/main'/>">[첫 화면 이동]</a></p>
</body>
</html>

 

첫 화면 이동 을 누르면 main 으로 이동하도록 되어 있는데, 이를 위한 컨트롤러는 단순히 해당 경로를 매핑하는 일만을 한다. 

이럴경우 따로 컨트롤러를 만드는 것 보다 간단한 방법이 있다. 

 

WebMvcConfigurer 인터페이스에 정의된 addViewControllers 메소드를 사용한다.

 

다음은 MvcConfigure.java 설정 클래스다. 

// Spring MVC 설정 
@Configuration
@EnableWebMvc
public class MvcConfig implements WebMvcConfigurer
{
	...
    
	// WebMvcConfigurer 인터페이스에 정의됨 
	// 요청 경로 - 뷰 이름 연결 
	@Override 
	public void addViewControllers(ViewControllerRegistry registry) 
	{
		registry.addViewController("/main").setViewName("main");
	}
}

메소드 내용은 "/main" 요청 경로에 대해 뷰 이름으로 main 을 사용한다는 것을 뜻한다. 

 

 

메인화면 뷰인 main.jsp 

<%@ page contentType="text/html; charset=utf-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html>
<head>
	<title>메인</title>
</head>
<body>
	<p>환영합니다</p>
	<p><a href="<c:url value="/register/step1" />">[회원 가입하기]</a>
</body>
</html>

단순하게 텍스트 출력과, 회원 가입으로의 링크가 있다. 

 

 

 

 

출처 : 스프링5 프로그래밍 입문 (최범균 저)