봉봉의 개인 블로그

JSTL 사용시 주의사항 본문

오류 리포트

JSTL 사용시 주의사항

봉봉이네 2017. 7. 6. 11:02

JSTL 사용할때

jsp 파일에서 JSTL 을 사용하는 와중에 JSTL 이 적용되지 않고 문자열 그대로 출력되는 문제가 발생되었다.

이경우

JSTL 과 servlet 과 버전의 관계를 살펴볼 필요성이 있다.

자바 서블릿 컨테이너별 규격 버전 지원

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

자바서블릿JSPEL톰캣제우스웹로직웹스피어제이보스
7 이상3.12.33.0888
6 이상3.02.22.27712c86, 7
5 이상2.52.12.16610[1]7[2]5
1.4 이상2.42.05.55964

주:

  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">

*참고로 JSTL 1.2버전은 servlet 2.4이상부터 지원한다고 한다 (발생한 오류는 버전자체가 servlet 버전이 2.3이라서 적용이 안되었었다.)

Comments