서블릿 컨테이너 또는 웹 애플리케이션 서버별로 서블릿이나 JSP를 지원하는 버전을 알아볼 필요가 있게 되었다. 이러한 버전은 web.xml에 명시되어서 컨테이너 구동에 영향을 주기 때문에 운영 환경에서 반드시 신경써야할 항목이다. 특히 우리나라에서는 제우스(Jeus)가 공공 분야에서 점유율이 상당하므로 꼭 정리가 필요했다. 여기 표 하나로 정리해봤다.

자바 서블릿 JSP EL 톰캣 제우스 웹로직 웹스피어 제이보스
7 이상 3.1 2.3 3.0 8 8 8
6 이상 3.0 2.2 2.2 7 7 12c 8 6, 7
5 이상 2.5 2.1 2.1 6 6 10[1] 7[2] 5
1.4 이상 2.4 2.0 - 5.5 5 9 6 4

주:

  1. 웹로직 10은 자바 5 이상을 지원하지만 10.3은 자바 6 이상이어야 하며 12c는 7이상이어야 함
  2. 웹스피어 7은 자바 6 이상이어야 함

출처:

참고로 규격 버전에 따른 web.xml 시작문은 다음과 같다. 버전이 맞지 않으면 서블릿 컨테이너가 처음 시작부터 오류가 발생하여 정상 구동되지 않는 경우가 있으니 주의해야 한다.

서블릿 2.4

<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>

서블릿 2.5

<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>

서블릿 3.0

<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
>