오늘은 남은 과제 2개 진행했고, 진행하면서 발생한 에러 정리와 해결한 방법을 공유한다.
문제:
src/main/resources/web/WEB-INF/jsp/에 위치해결:
# 올바른 위치로 JSP 파일 이동
mkdir -p src/main/webapp/WEB-INF/jsp
cp -r src/main/resources/web/WEB-INF/jsp/* src/main/webapp/WEB-INF/jsp/
원인: Spring Boot는 src/main/webapp/WEB-INF/jsp/ 경로에서 JSP 파일을 찾음
문제:
javax.servlet vs jakarta.servlet API 충돌jakarta.servlet 사용해결:
@WebServlet → @Controller + @GetMapping/@PostMappingHttpServlet 상속 → Spring MVC 방식문제:
MenuService를 직접 인스턴스화하여 사용해결:
// Before
private final MenuService menuService = new MenuService();
// After
private final MenuService menuService;
public MenuController(MenuService menuService) {
this.menuService = menuService;
}
문제:
해결:
application.properties에 올바른 설정 추가:
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
문제: Spring Boot 3.x부터 JSP 지원이 공식적으로 제한됨
에러: JSP 파일들이 404 에러로 접근 불가
원인:
따라서 마지막 과제는 JSP 대신 Thymeleaf로 해결했다.