로컬에서 Sun JDK로 개발하였을 때는 이상이 없으나 이관을 하고 jsp페이지를 로딩하면서 다음과 같은 오류가 발생할 때가 있다. 톰캣은 어떨지 모르나 웹로직에서 문제가 생겨 참고삼아 포스팅해본다. 혹시 톰캣에서도 발생할 경우 적용될 수도 있을 것 같다.

java.lang.RuntimeException: Could not parse embedded JSP code: weblogic.utils.ParsingException: nested TokenStreamException: antlr.TokenStreamIOException


이관장비의 환경은 아래와 같다.

환경
  1. 서버 : IBM AIX
  2. WAS : 웹로직 8.1
  3. JDK : IBM JDK 1.4.2


이 경우는 WAS에서 jsp페이지를 인코딩 할때 CharterSet이 맞지 않아 한글 등이 들어간 경우 컴파일이 실패한 경우 발생한다. jsp에서 한글을 제거하면 잘 된다. 하지만 모든 소스에서 한글을 지워야 하기 때문에 답이 아니다.


그래서 다음과 같이 서버 인스턴스를 올릴 때 인코딩 옵션을 지정해 주고

-Dfile.encoding=UTF-8 -Dfile.client.encoding=UTF-8


jsp 파일의 맨 위에 다음과 같이 인코딩을 지정하고, 파일 저장시 UTF-8로 저장하면 페이지가 표시된다.

<%@ page contentType="text/html; charset=utf-8" %>


물론 모든 jsp를 위와 같이 수정해줘야 하는 것도 일이긴 하다. 하지만, 적어도 우리는 개발할 때 UTF-8을 쓰기 때문에 위의 해결법이 맞는 듯 하다. 다른 개발자는 CharSet을 쓰는지 모르지만, 이런 경우도 있다는 것을 참고삼아 알아두길 바라겠다.

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Life 스토리


티스토리 툴바