[SPRING] ServletContext 리소스 [/WEB-INF/applicationContext.xml]을 열 수 없습니다.
SPRINGServletContext 리소스 [/WEB-INF/applicationContext.xml]을 열 수 없습니다.
좋아, 나는이 질문을하는 500 번째 사용자이다. 나는 많은 해답을 읽었지만 여전히 운이 없다.
상위 모듈 pom에 포함 된 항목 :
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.framework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.framework.version}</version>
</dependency>
자식 모듈은 maven-jetty-plugin을 가지고 있으며 jetty : webapp로 webapp 모듈을 실행합니다.
web.xml은 표준 디스패처 모듈을 정의합니다.
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
시작은 실패하지만 WEB-INF 아래에 dispatcher-servlet.xml 파일이 있습니다.
FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
뭐가 잘못 되었 니? 문서와 모든 사람들은 Spring MVC가 XX-servlet.xml을 검색 할 것이라고 말합니다. 여기서 XX는 서블릿의 이름입니다. applicationContext.xml을 검색하는 이유는 무엇입니까?
해결법
-
==============================
1.ContextLoaderListener는 모든 서블릿과 필터에서 공유하는 자체 컨텍스트를 가지고 있습니다. 기본적으로 /WEB-INF/applicationContext.xml을 검색합니다.
ContextLoaderListener는 모든 서블릿과 필터에서 공유하는 자체 컨텍스트를 가지고 있습니다. 기본적으로 /WEB-INF/applicationContext.xml을 검색합니다.
다음을 사용하여이를 사용자 정의 할 수 있습니다.
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/somewhere-else/root-context.xml</param-value> </context-param>
web.xml에서 필요없는 경우이 리스너를 제거하십시오.
-
==============================
2.업데이트 : applicationContext.xml과 동일한 두 번째 컨텍스트를 만듭니다.
업데이트 : applicationContext.xml과 동일한 두 번째 컨텍스트를 만듭니다.
또는이 코드 스 니펫을 web.xml에 추가 할 수 있습니다.
<servlet> <servlet-name>spring-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
대신에
<servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
from https://stackoverflow.com/questions/22350721/could-not-open-servletcontext-resource-web-inf-applicationcontext-xml by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 테스트에서 @EnableScheduling 사용 안함 (0) | 2018.12.24 |
---|---|
[SPRING] 스프링 IoC 및 일반 인터페이스 유형 [중복] (0) | 2018.12.24 |
[SPRING] 스프링 MVC 사용자 정의 범위 Bean (0) | 2018.12.24 |
[SPRING] FetchMode 조인은 Spring JPA 저장소의 ManyToMany 관계에 아무런 차이가 없습니다. (0) | 2018.12.24 |
[SPRING] 스프링 보안 3.1에서 역할에 따라 목표 URL 결정 (0) | 2018.12.24 |