[Spring Boot] View 연동하기(JSP)

hameee·2023년 12월 13일
0

Spring Boot

목록 보기
4/20
post-thumbnail

📍 dependencies 추가

  • 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 파일 저장
  • Package Explorer의 build.gradle 파일에서 우측 마우스 클릭
  • Gradle > Gradle Refresh Project 클릭(이 과정을 수행하지 않으면 404 에러가 난다.)

📍 설정 파일 작성

  • 컨트롤러에서 반환된 뷰 이름을 기반으로 실제 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/**     # 정적 리소스의 기본 경로
  • 파일 저장

📍 JSP 파일을 위한 폴더 생성

  • src/main/webapp/WEB-INF/jsp 폴더 생성

👉 WEB-INF

  • 톰캣 기반 웹 어플리케이션에서는 보안상의 이유로 WEB-INF 하위의 파일에 URL로 직접 접근하는 것을 막는다.
  • 컨트롤러를 통해 WEB-INF 하위의 파일(뷰)에 접근해야 한다.

📍 완료 후 체크 사항

  • @Controller + return String(view 경로) 메서드에 요청 시, 해당 JSP를 출력하는 HTML로 응답하는가?

0개의 댓글