Java/Spring

[Spring Boot] JSP 설정하기

Icarus8050 2019. 12. 4. 16:13
반응형

스프링 부트에서는 기본적으로 JSP 를 지원하지 않으므로 몇 가지 설정을 해주어야 합니다.

 

먼저 아래와 같이 pom.xml에 의존성을 추가합니다.

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>

 

 

의존성을 추가하고 나면 jsp 경로 설정을 위해 application.yml 값을 아래와 같이 추가해줍니다.

spring:
  mvc:
    view:
      prefix: /WEB-INF/views/
      suffix: .jsp

 

 

application.yml 에서 설정한대로 디렉터리를 생성합니다.

경로는 src/main/webapp/WEB-INF/view 입니다.

 

 

생성된 경로대로 jsp 파일을 인식하는지 확인해보기 위해 간단하게 hello 페이지를 만들어보겠습니다.

 

views 디렉토리 아래에 hello.jsp 페이지를 생성하였습니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello World!</title>
</head>
<body>
Welcome to my ${serverName}
</body>
</html>

 

그리고 심플하게 간단한 컨트롤러를 작성합니다.

package com.example.multipart.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class SimpleController {

    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    public String hello(Model model) {
        model.addAttribute("serverName", "Multipart Server!!!");

        return "hello";
    }
}

 

컨트롤러의 경로대로 서버 호스트의 /hello 주소로 접근하면 아래와 같이 jsp 페이지가 정상적으로 반환됩니다!

 

반응형