[Spring Boot] Intellij + Spring Boot + maven + jsp 프로젝트 생성

smiler·2022년 12월 2일
0
post-thumbnail

1. 프로젝트 생성

Generators : Spring Initializr
Name : 프로젝트 이름
Location : 프로젝트 파일 위치
Type : maven
JDK : 프로젝트에서 사용할 JDK
Java : Java 버전
Packaging : Web 프로젝트 이므로 War (pom.xml에서 변경 가능합니다.)

Spring Boot : Spring Boot 버전 선택
Dependencies : 원하는 Dependencies 선택 (pom.xml에서 추가 가능합니다.)



2. Tomcat Embed Jasper 추가

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 업데이트를 해줍니다.



3. application.yml 생성

application.properties 파일을 yml로 변경 (properties 사용해도 됩니다.)

yml 파일에 prefixsuffix를 설정합니다.

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


4. Controller 생성

URL이 들어오면 요청을 처리할 Controller를 생성합니다.
java/controller 패키지를 생성 후 HomeController.java를 생성합니다.

@Controller
public class HomeController {

    @GetMapping("/")
    public String index() {
        return "index";
    }
}

application.yml 파일에서 prefixsuffix를 설정했기 때문에 / 요청이 들어오면 /WEB-INF/views/index.jsp 를 찾아서 응답합니다.



5. 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>


6. 실행결과 확인

http://localhost:8080/에 접속해서 index.jsp가 잘 나오는지 확인합니다.

0개의 댓글