Generators : Spring Initializr
Name : 프로젝트 이름
Location : 프로젝트 파일 위치
Type : maven
JDK : 프로젝트에서 사용할 JDK
Java : Java 버전
Packaging : Web 프로젝트 이므로 War (pom.xml
에서 변경 가능합니다.)
Spring Boot : Spring Boot 버전 선택
Dependencies : 원하는 Dependencies 선택 (pom.xml
에서 추가 가능합니다.)
Spring Boot의 내장 Tomcat은 jsp를 지원하지 않습니다.
jsp를 컴파일 하기위해서 Tomcat Enbed Jasper를 추가해줍니다.
https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper
mvnrepository 사이트에서 Tomcat Embed Jasper 원하는 버전을 가져와서 pom.xml
에 추가합니다.
22.12.02 기준 최신버전을 쓰겠습니다
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>10.1.2</version>
</dependency>
후에 maven 업데이트를 해줍니다.
application.properties
파일을 yml로 변경 (properties 사용해도 됩니다.)
yml 파일에 prefix
와 suffix
를 설정합니다.
application.yml
#application.yml
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
application.properties
#application.properties
spring.mvc.view.previx=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
URL이 들어오면 요청을 처리할 Controller를 생성합니다.
java/controller
패키지를 생성 후 HomeController.java
를 생성합니다.
@Controller
public class HomeController {
@GetMapping("/")
public String index() {
return "index";
}
}
application.yml
파일에서 prefix
와 suffix
를 설정했기 때문에 /
요청이 들어오면 /WEB-INF/views/index.jsp
를 찾아서 응답합니다.
Controller의 /
요청을 받아줄 /WEB-INF/views/index.jsp
를 생성합니다. 디렉토리가 없다면 생성해줍니다.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
index page
</body>
</html>
http://localhost:8080/
에 접속해서 index.jsp
가 잘 나오는지 확인합니다.