본문 바로가기
#IT 업무노트

[Cluster 전환 #11] THE JSP specification requires that and attribute name is preceded by whitespace

by 꾸미라기 2024. 7. 26.
반응형
SMALL

"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] 프록시 서버 구성하기

 

[Cluster 전환 #9] 프록시 서버 구성하기

아래 두 가지 연계 건으로 방화벽 OPEN시 프록시 서버 구축 요청을 받았습니다. 1. WIPS 전세계 특허 정보 API 연계 2. 공통API 인증 서버 연계 방화벽 open시에는 소스IP A, 타겟IP C, 

ggumidr.com

 

"속성 이름은 반드시 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"

반응형