"org.apache.jasper.JasperException: JSP 스펙에 따르면, 속성 이름은 반드시 whitespace 다음에 나타나야 합니다."
Tomcat 6에서 Tomcat 9로의 업그레이드 후에 "속성 이름은 반드시 whitespace 다음에 나타나야 합니다."라는 에러가 발생하는 이유는 아래와 같습니다.
2024.07.26 - [#IT 업무노트] - [Cluster 전환 #10] Dockerfile을 사용하여 Maven 빌드 시에 소스 코드 수정이 제대로 반영되지 않는 현상
2024.07.26 - [#IT 업무노트] - [Cluster 전환 #9] 프록시 서버 구성하기
"속성 이름은 반드시 whitespace 다음에 나타나야 합니다."라는 에러가 발생하는 이유
1.JSP 사양 변경
Tomcat 9에서는 JSP 사양의 업데이트나 변경이 있을 수 있습니다.
이로 인해 이전 버전(Tomcat 6)에서는 허용되었던 문법적인 특정 사항이 요구되거나 변경된 경우가 있을 수 있습니다.
예를 들어, JSP 태그에서 속성 이름이 태그 이름 바로 뒤에 나오는 것을 허용하지 않고, 공백 문자 이후에 와야 한다는 요구 사항이 추가될 수 있습니다.
2.기본 설정 변경
Tomcat 버전 간에 기본적으로 사용하는 JSP 컴파일러나 처리기가 변경될 수 있습니다.
이러한 변경은 JSP 파일을 해석하는 방식에 영향을 미칠 수 있으며, 문법적인 요구 사항을 보다 엄격하게 적용할 수 있습니다.
3.호환성 문제
Tomcat 6에서는 특정 문법적 오류를 자동으로 수정하거나 우회하는 경우가 있을 수 있습니다.
그러나 Tomcat 9에서는 보다 엄격한 사양 준수를 요구하므로, 이러한 문제가 명확히 오류로 감지되고 발생할 수 있습니다.
이러한 이유들로 인해 Tomcat 6에서는 발생하지 않았던 JSP 파일의 "속성 이름은 반드시 whitespace 다음에 나타나야 한다"는 요구 사항에 관련된 오류가 Tomcat 9에서 발생할 수 있습니다.
이 문제를 해결하려면 JSP 파일을 업데이트하여 요구 사항을 준수하도록 수정해야 합니다.
해결 방법
발생한 키워드 두 개 및 발생 가능성이 있는 키워드로 소스 전체 검색하여 소스 변경
ex) 검색 키워드 : "text=, "escape=,
label:"ssssss"text="SSSSSSS" -> label:"ssssss" text="SSSSSSS"
'#IT 업무노트' 카테고리의 다른 글
[특허 용어] 심사미청구와 심사청구 (0) | 2024.07.31 |
---|---|
[특허 용어] 출원인, 선행기술조사 (0) | 2024.07.31 |
[Cluster 전환 #10] Dockerfile을 사용하여 Maven 빌드 시에 소스 코드 수정이 제대로 반영되지 않는 현상 (0) | 2024.07.26 |
[Cluster 전환 #9] 프록시 서버 구성하기 (0) | 2024.07.26 |
[Cluster 전환 #8] Network Policy 운영에 apply 권한이 사라져 파이프라인 형태로 만들기 (1) | 2024.06.30 |