01. 의존성 주입
build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
// JSP
// implementation 'javax.servlet:jstl'
implementation group: 'org.glassfish.web', name: 'jakarta.servlet.jsp.jstl', version: '2.0.0'
implementation "org.apache.tomcat.embed:tomcat-embed-jasper"
}
- jstl(JSP Standard Tag Library): JSP 표준 태그 모음
- tomcat-embed-jasper: JSP 파일을 서블릿으로 변경
- JSP: HTML 안에서 자바 문법 사용
- Servlet: 자바 코드 안에 html 코드 삽입
- WAS(Tomcat 등)에서는 JSP를 Servlet(자바코드)로 변환 및 컴파일 후, HTML 파일 생성
- 스프링부트 3 이전 버전에서는
javax.servlet:jstl
경로로 의존성을 주입했으나, 3버전 이후부터는 변경됨- 3버전부터는
implementation group: 'org.glassfish.web', name: 'jakarta.servlet.jsp.jstl', version: '2.0.0'
사용
- 3버전부터는
02. 뷰 리졸버 설정
application.properties
spring.application.name=jsp
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
spring.mvc.view.prefix
: 뷰가 위치한 경로 설정/WEB-INF/
: Java EE 에서 정의하고 있는 표준 경로, 해당 경로 안의 파일은 외부에서 직접 접근 불가
spring.mvc.view.suffix
: 뷰 확장자 설정
03. jsp 파일 작성
- jsp가 위치한 경로를 유의하자.
main/webapp/
경로 안에, 앞에서 설명한spring.mvc.view.prefix
경로 생성 후 파일 작성
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<title>Hello World JSP</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
04. 컨트롤러 작성
package com.example.jsp;
import lombok.Getter;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class TestController {
@GetMapping("/test")
public String test(){
System.out.println("test");
return "index";
}
}
05. 실행 결과
- JSP가 잘 인식된다.
'Back End > Spring && Spring Boot' 카테고리의 다른 글
[Spring boot] SSE를 사용해서 서버에서 클라이언트로 이벤트 전송하기 (2) | 2024.09.08 |
---|---|
[EC2, Spring boot] 스프링 부트 배포시, 우분투 환경에서 이미지 경로 인식 못하는 문제 (0) | 2024.08.15 |
[Spring boot] @Scheduled 스케줄러를 사용해서 Refresh 토큰 관리하기 (0) | 2024.08.10 |
[Spring Boot] CORS 설정하기 (0) | 2024.08.05 |
[Spring boot / JWT] Spring security를 사용해서 Refresh Token 구현하기 (0) | 2024.07.13 |