복붙노트

[SPRING] Spring - No WebApplicationContext found : ContextLoaderListener가 등록되지 않았습니까? [복제]

SPRING

Spring - No WebApplicationContext found : ContextLoaderListener가 등록되지 않았습니까? [복제]

Spring 프로젝트를 실행하는 동안 다음 오류가 발생합니다.

HTTP Status 500 - java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered?

리스너를 web.xml에 추가 했음에도 불구하고. 나는 아직도이 오류가 발생하고있다. 아래는 web.xml에 추가 한 리스너입니다.

 <context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/HelloWebRedirect-servlet.xml</param-value>
 </context-param> 

 <listener>
 <listener-class>
  org.springframework.web.context.ContextLoaderListener
 </listener-class>
 </listener> 

이 점에서 누군가 나를 도울 수 있습니까?

해결법

  1. ==============================

    1.안녕하세요 @ user2681868 나는 또한 당신이 따라야 할 단계는 여기에 같은 문제에 직면했다.

    안녕하세요 @ user2681868 나는 또한 당신이 따라야 할 단계는 여기에 같은 문제에 직면했다.

    1)은 이것을 정의합니다.

    <listener> 
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener>
    

    2)이 내용이있는 web-inf에 applicationContext.xml을 만듭니다.

     <?xml version="1.0" encoding="UTF-8"?>
     <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
      xmlns:context="http://www.springframework.org/schema/context"
      xsi:schemaLocation="
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
        </beans>
    
  2. ==============================

    2.이렇게 해봐.

    이렇게 해봐.

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener> 
    
  3. ==============================

    3.특수 효과를 사용하는 경우 :

    특수 효과를 사용하는 경우 :

    public class SpringWebAppInitializer implements WebApplicationInitializer {
    
        @Override
        public void onStartup(ServletContext servletContext) throws ServletException {
            AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext();
            appContext.register(ApplicationContextConfig.class);
    
            ServletRegistration.Dynamic dispatcher = servletContext.addServlet("SpringDispatcher",
                    new DispatcherServlet(appContext));
            dispatcher.setLoadOnStartup(1);
            dispatcher.addMapping("/");
    
    
    
            ContextLoaderListener contextLoaderListener = new ContextLoaderListener(appContext);
    
            servletContext.addListener(contextLoaderListener);
    
    
            // Filter.
            FilterRegistration.Dynamic fr = servletContext.addFilter("encodingFilter", CharacterEncodingFilter.class);
    
            fr.setInitParameter("encoding", "UTF-8");
            fr.setInitParameter("forceEncoding", "true");
            fr.addMappingForUrlPatterns(null, true, "/*");
        }
    
    }
    
  4. ==============================

    4.첫 번째 '/'를 제거하십시오.

    첫 번째 '/'를 제거하십시오.

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
          WEB-INF/HelloWebRedirect-servlet.xml
        </param-value>
    </context-param>
    
  5. ==============================

    5.contextConfigLocation을 지정하는 대신 Dispatcher 서블릿을 지정하십시오.

    contextConfigLocation을 지정하는 대신 Dispatcher 서블릿을 지정하십시오.

    <servlet>
         <servlet-name>HelloWebRedirect</servlet-name>
         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
         <load-on-startup>1</load-on-startup>
    </servlet>
    

    이 템플릿에 따라 서블릿 이름을 선택하십시오 : /WEB-INF/${servlet-name}-servlet.xml

  6. from https://stackoverflow.com/questions/18569826/spring-no-webapplicationcontext-found-no-contextloaderlistener-registered by cc-by-sa and MIT license