2016-07-02 5 views
1
내가 컨트롤러를 찾을 수없는 스프링은 common.xml과 스프링 MVC의 구성 요소 검사를 넣으면

왜?하지만 springMVC-servlet.xml 파일의 구성 요소 검사를 넣어 경우 그것은 작동합니다.<구성 요소 검사>

web.xml을

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

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>classpath*:spring/spring-*.xml</param-value> 
</context-param> 


<filter> 
    <filter-name>encodingFilter</filter-name> 
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
     <param-name>forceEncoding</param-name> 
     <param-value>true</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>encodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 


<!-- Spring MVC --> 
<servlet> 
    <servlet-name>springMVC</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>classpath:spring/springMVC-servlet.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>springMVC</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

springMVC-servlet.xml에

<mvc:annotation-driven /> 


<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="order" value="2" /> 
    <property name="prefix" value="/WEB-INF/view/" /> 
    <property name="suffix" value=".html" /> 
</bean> 

<!-- 对静态资源文件的访问 --> 
<mvc:resources mapping="/js/**" location="/static/js/" /> 
<mvc:resources mapping="/css/**" location="/static/css/" /> 
<mvc:resources mapping="/image/**" location="/static/image/" /> 
<mvc:default-servlet-handler /> 

스프링은 common.xml

<context:component-scan base-package="com.wind"> 
</context:component-scan> 

+1

서블릿의 이름은 "SpringMVC"이고 따라서는 SpringMVC-SER에 보이는 서블릿 용 vlet.xml 파일. – rakeeee

답변

0

당신은 당신의 봄 일반적인 유지하더라도 .xml을 프로젝트에 추가하십시오. 컨테이너 (Tomcat, Jboss)는 액세스 할 수있는 컨테이너를 식별합니다. 컨테이너에 접근 할 수없는 것 같습니다.

두 가지 방법으로 수행 할 수 있습니다. springMVC-servlet.xml 파일에서 sprin-은 common.xml 가져 오기)

<init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>classpath:spring/springMVC-servlet.xml</param-value> 
     <param-value>classpath:spring/spring-common.xml</param-value> 
</init-param> 

2를 다음과 같이

1)은 web.xml의 컨텍스트 설정 위치로 봄 - 일반, XML을 포함

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="order" value="2" /> 
    <property name="prefix" value="/WEB-INF/view/" /> 
    <property name="suffix" value=".html" /> 
</bean> 

<import resource="spring-common.xml"/> 

http://www.mkyong.com/spring/load-multiple-spring-bean-configuration-file/

+0

하지만 내 applicationContext.xml에는 spring-common.xml과 springMVC-servlet이 포함되어 있습니다. 그것은 봄 로딩 순서와 관련이있는 것 같지만 세부 사항을 알지 못합니다. –

관련 문제