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 프로그래밍 입문 (최범균 저)