<!-- JSP 페이지를 컴파일하고 렌더링할 수 있도록 tomcat-embed-jasper 종속성 포함 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!-- JSP 페이지에 필요한 JSTL 태그 지원을 위해 종속성 포함 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
2-1. application.properties
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
we place our JSP files in the ${project.basedir}/main/webapp/WEB-INF/jsp/ directory.
2-2. Application 클래스에서 setupViewResolver클래스 생성 후 Prefix,Suffix 경로 지정해준다음 빈 등록
@Bean
public InternalResourceViewResolver setupViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
2-3. WebMvcConfigurer는 자동구성된 스프링 MVC 구성에 Formatter, MessageConverter등 일부 기능만 추가 등록할 수 있다.
WebMvcRegistrations는 RequestMappingHandlerMapping, RequestMappingHandlerAdapter와 ExceptionHandlerExceptionResolver를 재정의할 때 사용한다.
@Configuration
public class WebMvcConfig implements WebMvcConfigurer, WebMvcRegistrations {
}
자동구성된 스프링 MVC 구성을 개발자가 완벽히 제어하는 방법은 다음과 같다.
@Configuration
@EnableWebMvc
public class WebMvcConfig {}
--
</code></pre><!--EndFragment-->
</body>
</html>
3. 테스트 페이지 호출을 위한 controller, service, serviceimpl 작업