Spring MVC에서 XML 구성 오류 해결 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 초보자 Java/Spring MVC 개발자
- XML 기반 구성으로 프로젝트를 구축하는 개발자
- Spring 6+와 호환성 문제 해결에 관심 있는 개발자
- 난이도: 중간 (기초 XML 이해 필요)
핵심 요약
- HTTPS 사용 필수: Spring 5.3+에서
xsi:schemaLocation
에 HTTPS URL 사용 (예:https://www.springframework.org/schema/beans/spring-beans.xsd
) - XML 네임스페이스 선언:
태그에xmlns:mvc="http://www.springframework.org/schema/mvc"
및xsi:schemaLocation
정의 포함 - 버전 호환성 강제: Spring 6+, Jakarta EE 10+, Tomcat 10+ 사용 (Spring 5/6 혼합 시 네임스페이스 바인딩 오류 발생)
섹션별 세부 요약
1. XML 스키마 참조 오류 해결
태그에xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
및xsi:schemaLocation
정의 포함- HTTPS URL 사용: Spring 5.3+에서 HTTP 스키마 URL은 불가능 (예:
https://www.springframework.org/schema/beans/spring-beans.xsd
) - 스키마 파일 다운로드 실패 시: Eclipse → XML Catalog에 수동 맵핑 또는 XML 검증 일시 중지
2. 네임스페이스 바인딩 오류
사용 시xmlns:mvc="http://www.springframework.org/schema/mvc"
선언 필수xsi:schemaLocation
에http://www.springframework.org/schema/mvc
대응 스키마 URL 포함 (예:https://www.springframework.org/schema/mvc/spring-mvc.xsd
)
3. `web.xml` 및 `springDispatcherServlet-servlet.xml` 설정
web.xml
에springDispatcherServlet
서블릿 매핑 정의:
```xml
```
springDispatcherServlet-servlet.xml
파일 위치:/WEB-INF/
디렉토리 내부
4. 버전 호환성 문제
- Spring 6+ 사용 시 Jakarta EE 10+ 및 Tomcat 10+ 필수 (Spring 5 사용 시
jakarta
패키지 대신javax
사용) - 버전 혼합 시: 리플렉션 오류, 네임스페이스 바인딩 실패 발생
5. 오프라인/프록시 환경 대응
- 수동 스키마 맵핑: Eclipse → XML Catalog에
http://www.springframework.org/schema/beans
→spring-beans.xsd
경로 추가 - XML 검증 비활성화:
Project → Properties → Validation
에서 XML 검증 일시 중지
결론
- HTTPS URL 사용, XML 네임스페이스 선언, 버전 호환성을 체크해 XML 구성 오류를 방지
- Spring 6+ 프로젝트에서는 Jakarta EE 10+/Tomcat 10+ 사용 필수
- 장기적으로 애노테이션 기반 구성 사용 권장 (XML은 기존 시스템 디버깅 시 유용)