- Spring Boot 애플리케이션에서 JSP를 사용하기 위한 과정이다.
build.gradle
파일의 dependencies에 코드 추가implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
implementation group: 'org.glassfish.web', name: 'jakarta.servlet.jsp.jstl', version: '2.0.0'
build.gradle
파일 저장build.gradle
파일에서 우측 마우스 클릭
- 컨트롤러에서 반환된 뷰 이름을 기반으로 실제 JSP 파일을 탐색할 수 있게 하기 위한 과정이다.
ex. home 반환 -> /WEB-INF/jsp/home.jsp 파일 탐색
- application.properties 파일에 작성하는 경우
- application.yml 파일에 작성하는 경우
1) application.properties 파일에 작성하는 경우
src/main/resources/application.properties
파일에 코드 추가spring.mvc.view.prefix=/WEB-INF/jsp/ # JSP 파일이 위치하는 디렉토리의 경로 지정
spring.mvc.view.suffix=.jsp # JSP 파일의 확장자 지정, 뷰 이름에서 확장자 생략 가능
spring.mvc.static-path-pattern=/static/** # 정적 리소스의 기본 경로(jsp 파일에서 css 파일 연결 시, "/static/css/style.css"로 연결해야 함, 권한 검사 시 편리)
2) application.yml 파일에 작성하는 경우
🚩 주의사항
- 들여쓰기 방식을 통일해야 한다.(띄어쓰기 혹은 탭)
:
이후 같은 줄에 작성할 내용이 있을 경우 반드시 한 칸을 띄어야 한다.
src/main/resources/application.yml
파일에 코드 추가spring:
mvc:
view:
prefix: /WEB-INF/jsp/ # JSP 파일이 위치하는 디렉토리의 경로 지정
suffix: .jsp # JSP 파일의 확장자 지정, 뷰 이름에서 확장자 생략 가능
static-path-pattern: /static/** # 정적 리소스의 기본 경로
src/main/webapp/WEB-INF/jsp
폴더 생성👉 WEB-INF
- 톰캣 기반 웹 어플리케이션에서는 보안상의 이유로 WEB-INF 하위의 파일에 URL로 직접 접근하는 것을 막는다.
- 컨트롤러를 통해 WEB-INF 하위의 파일(뷰)에 접근해야 한다.
@Controller + return String(view 경로)
메서드에 요청 시, 해당 JSP를 출력하는 HTML로 응답하는가?