헤르메스 LIFE

[SpringBoot] SpringBoot 기반 Web Project 생성 본문

Spring Boot Framework

[SpringBoot] SpringBoot 기반 Web Project 생성

헤르메스의날개 2021. 7. 27. 00:38
728x90

개발환경

JDK : OpenJDK 11

IDE : IntelliJ

Framework : Spring Boot 2.5.2

Tools : Lombok


Spring Boot 프로젝트 생성 시 packaging 방법 중 jar 와 war 방식을 선택해야 합니다.
Tomcat 과 같은 웹 컨테이너에 애플리케이션을 배포할 계획이라면 war 방식을 선택해야 합니다. 따라서 JSP 그리고, 임배디드 Sevlet 컨테이너의 Spring Boot를 사용할 경우 jar 를 사용할 수 없습니다.

https://www.baeldung.com/spring-boot-jsp

https://www.baeldung.com/spring-boot-run-maven-vs-executable-jar


JSP 파일 경로 설정

application.properties

server.port=9090
#JSP수정시 서버 재시작없이 바로 적용될 수 있게 설정
server.servlet.jsp.init-parameters.development=true

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

index.jap

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%
    Date nowTime = new Date();
    SimpleDateFormat sf = new SimpleDateFormat("yyyy년 MM월 dd일 a hh:mm:ss");
%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>demo</title>
</head>
<body>
현재 날짜와 시간은 <%= nowTime %> 입니다.
<br>-------------------------------------------------------------------<br>
현재 날짜와 시간은 <%= sf.format(nowTime) %> 입니다.
</body>
</html>
package com.study.system.login;

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

@Controller
public class indexController {
    @RequestMapping( "/" )
    public String index() { return "index"; }
}

jar 기반 - Spring Boot 프로젝트 생성 시 packaging 방법

정적 리소스는 /static, /public, /resources, /META-INF/resources 에서 로드됩니다.

첫번째 방법 - main package 아래 webapp\WEB-INF\jsp 폴더를 생성 후 index.jsp 파일을 넣어줍니다. ( jar packaging 시 좋은 방법이 아니라고 합니다. )

두번째 방법 - jsp 파일의 위치는 resources\META-INF\resources\WEB-INF\jsp 폴더를 생성 후 넣어둡니다.


war 기반 - Spring Boot 프로젝트 생성 시 packaging 방법

1. ServletInitializer 파일이 자동 생성되어 있습니다.

2. webapp 폴더를 추가 생성하면 자동 인식합니다.


index.jsp 파일의 위치가 다르게 적용되는 걸 확인할 수 있었습니다.

 


오류

https://hermeslog.tistory.com/545

 

[WARN] Path with "WEB-INF" or "META-INF": [WEB-INF/jsp/index.jsp]

Spring Boot 기반의 Web 개발환경을 설정하던 중 아래와 같은 오류가 발생하였습니다. Path with "WEB-INF" or "META-INF": [WEB-INF/jsp/index.jsp] 원인 Spring Boot 의 embed-Tomcat 에 JSP 를 처리하는 서블릿..

hermeslog.tistory.com

 

728x90

'Spring Boot Framework' 카테고리의 다른 글

[SpringBoot] Logback 설정  (2) 2021.07.30
[SpringBoot] Interceptor  (0) 2021.07.28
[Spring Boot] Spring Resttemplate 예외 처리  (0) 2021.01.31
[Spring Boot] Spring Resttemplate Sample  (0) 2021.01.31
[Spring Boot] JUnit Test  (0) 2021.01.17