# 개요

JSTL 라이브러리 추가하는 과정에서의 삽질하다가 발견한 Tomcat 9와 Tomcat 10 차이 정리

JSTL에 대한 정리가 아니다!!!

 


 

# 선 결론

그냥 Tomcat 버전 문제였다.

수업에서는 Tomcat 9 버전을 썼는데, 나는 Tomcat 10 버전을 썼다.

하필 Tomcat 9와 10의 차이가 Java EE 패키지에서 Jakarta EE 패키지로 바뀌고, 그에 따라 추가해야하는 JSTL 라이브러리도 바뀐 것이다

그리고 그걸 몰랐어서 계속 삽질했던 것.....

 


 

# JSTL 라이브러리 추가

Tomcat 9

// Gradle
implementation 'jstl:jstl:1.2'

그냥 얘 추가하면 된다.

 

Tomcat 10

세 가지를 추가해야한다

// Gradle
implementation 'jakarta.servlet:jakarta.servlet-api' 
implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api'
implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl'

 


 

# Tomcat 9와 Tomcat 10의 차이

자세하게는 모르지만 삽질하는 과정에서 찾아본 내용만 정리한다.

일단 Tomcat 공식 페이지에서도 친절하게 알려주기는 한다;

대충 보면 javax.*에서 jakarta.*로 변경되었다. migration tool이 있다. 라는 내용을 볼 수 있다... 이걸 몰라서 그렇게 삽질했던것;

참고로 공식 페이지에 가면 Tomcat 버전별로 서블릿, JSP, EL 등의 스펙이 나와있다


 

# 결론

Tomcat 9 버전을 사용한다면 대부분의 블로그를 따라하면 될 듯 하다. 검색해본 결과 대부분이 JavaEE를 사용했다.

근데 Tomcat 10 버전을 사용하는 것이 더 좋을 것 같다는 생각이 들었다. 내 노트북에서는 JDK 17을 사용할 것이고, 이후에 스프링부트도 3.0버전 이상을 사용하게 될텐데 JakartaEE에 조금 더 익숙해져야 할 것 같다.

 


 

# Reference

 

members.jsp에서 jstl를 사용하려고 하면 500번에러가 .. ㅠ - 인프런

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼

www.inflearn.com

 

 

스프링부트 3 에서 jstl 사용 시 에러 해결

스프링부트 3을 이용하여 jsp와 jstl을 이용할때 아래와 같은 에러가 뜨는 경우가 있다. ERROR 7332 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[.[mvcMemberListServlet] : Servlet.service() for servlet [mvcMemberListServlet] in context with

dev-n-life.tistory.com

 

 

[JSP] Maven jakarta JSTL 적용 (Java EE에서 Jakarta EE로)

https://velog.io/@gmg0521/JSP-jakarta-JSTL-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95-Java-EE%EC%97%90%EC%84%9C-Jakarta-EE%EB%A1%9C

velog.io

 

 

Tomcat 9 vs 10 - 𝝅번째 알파카의 개발 낙서장

필자는 Jersey 3 라이브러리를 활용하여 API 서버를 구성하고 있다. 코드를 작성하고 올바른 URL을 호출했음에도, 404 오류가 계속 출력됐다. 간단한 테스트 서블릿을 작성하고, 공식 문서와 아무리

blog.itcode.dev

 

+ Recent posts