spring boot - intellij에서 jsp 를 사용하기 위한 환경 설정
Eclipse를 사용할 때와 너무 달라 당황했고, 독학중이라 인터넷 검색을 통해 알게되었다.
jsp를 사용해서 예제를 만드는 영상이 있는지 찾아봤는데 인텔리제이에서 jsp를 지원하지 않아 mustache 또는 Thymeleaf를 많이 사용하였다...
여하튼, 나는 jsp 를 사용하기위해서 검색을 한 결과 나름의 방법을 찾았고 정리해보도록 하겠다.
1. jsp 를 권장하지 않는 이유
스프링부트에서는 jsp가 자동설정되지 않으며 권장되지 않는다.
why? jsp 를 사용하면 JAR패키징이 불가하며, 최근 만들어진 서블릿 엔진이 JSP를 지원하지 않는 등의 제약이 발생한다.
2. pom.xml 파일 수정 - 아래의 코드를 추가해준다.
maven Dependencies(의존성)을 관리하는 파일이 pom.xml이며,
jasper와 jstl을 추가해주면 jsp를 동작하게 만들 준비가 완료되게 된다.
<!-- jsp 사용을 위해 추가함 (jasper) -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- jsp 사용을 위해 추가함 (jstl) -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
코드 작성 후 우측에 자동 생성되는 maven 업데이트 버튼을 클릭하거나
pom.xml 파일 우클릭 > maven > Reload project 를 선택한다.
3. jsp를 사용하기 위한 폴더 생성
resource 폴더 하위에는 기본적으로 static과 templates 폴더가 존재하는데
static은 정적 컨텐츠(html, js, css, image 등), templates는 View 컨텐츠(Thymeleaf, Groovy 등) 의 역할을 한다.
이 두 폴더에는 jsp 파일을 넣어도 동작하지 않기 때문에
" src/main" 하위에 "webapp/WEB-INF/views" 폴더를 생성해준다.
4. properties 설정
jsp 파일의 접근을 위해 prefix(접두사), suffix(접미사)를 설정 해야한다.
resources > application.properties 파일에 아래와 같은 코드를 작성해준다.
<< application. properties >>
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp