[SpringBoot] JSP, JSTL 사용하기

dondonee·2024년 3월 30일
0
post-thumbnail

SpringBoot에서 JSP, JSTL 사용하기

스프링 부트는 JSP를 공식 지원하지 않는다. 내장 톰캣에 JSP 엔진이 없기 때문에 따로 추가해주어야 한다.


의존성 추가

//JSP
implementation "org.apache.tomcat.embed:tomcat-embed-jasper"

//JSTL - 스프링 부트 3.0 이상
implementation 'jakarta.servlet:jakarta.servlet-api'
implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api'
implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl'

톰캣의 JSP 엔진인 Japser( Details : 🔗 Tomcat 10 Jasper 2 JSP Engine How To )와 JSTL 관련 의존성을 추가한다.



통합

디렉토리 구조

├── resources
│   ├── mapper
│   ├── static
│   └── templates

스프링 부트의 템플릿 엔진은 위와 같은 디렉토리 구조를 사용한다. 이니셜라이저를 통해 미리 만들어져 있다.


└── webapp
    └── WEB-INF
        └── views

JSP를 사용하기 위해 webapp과 그 하위 디렉토리를 생성해준다.


설정

spring:
  mvc:
    view:
      prefix: /WEB-INF/views/
      suffix: .jsp

스프링이 뷰 파일을 찾기 위한 prefix(경로), suffix(확장자)를 설정해준다. 뷰 리졸버는 이 정보를 참고해 뷰 파일을 찾는다.

톰캣은 기본적으로 webapp을 웹 애플리케이션 디렉토리로 인식하기 때문에 따로 webapp의 경로를 설정할 필요는 없다. ( 이전 포스팅 참고 : 🔗 Spring Legacy Project 생성 )



통합 테스트

@Controller
public class HomeController {

    @GetMapping("/")
    public String home() {
        return "home";
    }
}

/WEB-INF/views/ 하위에 home.jsp를 만들고 컨트롤러를 생성했다. 서버를 시작하고 브라우저에 URL을 입력해보면 정상적으로 JSP 페이지가 뜬다.



0개의 댓글