1. 정의
- 서버에서 실행되는 HTML 템플릿 기술
- .jsp 파일 안에 HTML + Java 코드를 함께 작성 가능
- 요청 시 JSP → 서블릿(.java) 변환 → 컴파일 → HTML 결과 전송
2. 특징
장점
- HTML에 Java를 바로 삽입 가능 → 구현 단순
- 초기 Servlet보다 뷰 작성이 직관적
단점
- 뷰/로직 혼합으로 유지보수 어려움
- Spring Boot 공식 권장 X (Thymeleaf 추천)
3. Spring Boot에서 JSP 사용 방법
1. 의존성 추가
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl'
2. 설정
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
3. 폴더 구조
src/main/webapp/WEB-INF/views/
└── home.jsp
4. Controller 예시
@Controller
public class HomeController {
@GetMapping("/")
public String home() {
return "home";
}
}
5. include 차이
| 방식 | 시점 | 특징 |
|---|
<%@ include %> | 컴파일 타임 | 정적 병합, 빠름 |
<jsp:include> | 런타임 | 파라미터 전달 가능 |