본문 바로가기
Spring

intellij에서 Spring Boot + jsp 사용하기

by 매트(Mat) 2021. 5. 12.

Spring Boot에서 Jsp 사용하기

  • 개발 IDE: intellij Community 버전
  • 빌드 툴: Gradle
  • 참고: start.spring.io에서 패키징을 war로 선택하셔야 합니다.
  • 아래 부분에 WebMvcConfig 클래스는 굳이 생성하지 않으셔도 됩니다.


라이브러리 추가

implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
implementation 'javax.servlet:jstl'
  • tomcat-embed-jasper: JSP 엔진 역할
  • jstl: jsp 개발을 편하게 해주는 라이브러리


디렉토리 생성

  • 위 사진처럼 src/main 폴더 아래에 webapp, WEB-INF, views를 순서대로 3개의 디렉토리를 생성을 해줍니다.
  • 풀경로: src/main/webapp/WEB-INF/views
  • 여기서 주의할 점은 jsp 파일 생성을 바로 views 폴더 아래에 생성해줍니다.


application 설정

[application.yml]
spring:
  mvc:
    view:
      prefix: /WEB-INF/views/
      suffix: .jsp
[application.properties]
spring.mvc.view.prefix: /WEB-INF/views/
spring.mvc.view.suffix: .jsp


파일 Configuration

  • Intellij는 Eclipse와는 프로젝트 구조가 달라서 Spring Boot를 사용할 경우 jsp 사용을 추천하지 않습니다.
1
  • configuration 패키지를 생성하여 WebMvcConfig 클래스를 생성합니다.
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
}


jsp 동작 확인

1
  • 생성된 jsp 파일이 잘 연동되는지 확인하기 위해 jsp 파일을 생성하여 코드를 입력합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>test.jsp</h1>
</body>
</html>

TempControllerTest 클래스

package com.azurealstn.myblog.test;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class TempControllerTest {
    ...

    @GetMapping("/temp/jsp")
    public String tempJsp() {
        // prefix: /WEB-INF/views
        // suffix: .jsp
        // 풀경로: /WEB-INF/views/test.jsp
        return "test";
    }
}
  • 그리고 애플리케이션을 실행시켜주면..!
1



References

'Spring' 카테고리의 다른 글

웹 프로젝트 폴더 구조  (0) 2021.05.21
MVC 아키텍처  (0) 2021.05.21
cannot deserialize from object value 에러!  (0) 2021.05.12
Spring Boot와 MySQL 연동 (쉬움)  (0) 2021.05.12
Spring vs Spring Boot  (0) 2021.04.15

댓글