스프링 부트는 JSP에 대한 설정이 되어있지 않다. JSP를 사용한 MVC 패턴의 애플리케이션을 개발하기 위해서는 직접 의존성을 주입하고 설정해야한다.
0. 외존성 주입
pom.xml에 필요한 라이브러리를 주입한다.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
상단의 javax.servlet.jstl은 jstl 태그를 사용하기 위한 라이브러이고, 하단의 org.apache.tomcat.embed.tomcat-embed-jasper는 jsp를 사용하기 위한 라이브러리이다.
1. ViewResolver 설정
InternalResourceViewResolver 클래스로 jsp 파일의 prefix, suffix 경로를 설정할 수 있다. @Configuration 어노테이션을 사용해 설정하는 방법과 application.properties 파일에서 설정하는 방법이 있다.
1-1. @Configuration
package com.chordncode.springmvcboard.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration
public class ViewResolver {
@Bean
public InternalResourceViewResolver setViewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}
1-2. application.properties
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
2. 디렉토리 생성
위 예시대로 경로를 설정할 경우 jsp의 경로는 'src/main/webapp/WEB-INF/views/*.jsp' 로 설정된다. main 디렉토리 하위에 webapp/WEB-INF/views 디렉토리를 생성한다. 그리고 그 안에 jsp 파일을 넣어주면 된다.
3. 컨트롤러
컨트롤러에서는 String 타입으로 jsp 파일명을 입력해 클라이언트에 해당 jsp 파일을 보여줄 수 있도록 한다.
package com.chordncode.springmvcboard.member.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/")
public class MemberController {
@GetMapping("")
public String home(){
return "home";
}
@GetMapping("/login")
public String login(){
return "login";
}
}
'Java > Spring Boot' 카테고리의 다른 글
[Spring Boot] Spring Mail 설정하기 (0) | 2023.04.15 |
---|---|
[Spring Boot] JpaRepository의 쿼리 메서드 자동 구현 (0) | 2023.04.11 |
[Spring Boot] JpaRepository에서 @Query 사용하기 (0) | 2023.04.10 |
[Spring Boot] JPA의 Entity에서 1대N 관계 설정 (0) | 2023.04.10 |
[Spring Boot] JPA의 복합키 (0) | 2023.04.09 |