2016-05-25 19 views
0

私はspring mvcを使用して簡単なスプリングプロジェクトを持っています。ディスパッチャーのサーブレット名を変更しましたが、mvnのインストールがエラーで失敗します。Dispatcherサーブレットが見つかりません。 mvnのインストールに失敗してファイルが見つかりません

エラースタックトレース:ServletContextリソース[/WEB-INF/dispatcher-servlet.xml]からXMLドキュメントを解析しているIOException。開けませんでしたのServletContextリソース[/WEB-INF/dispatcher-servlet.xml]

1)のweb.xml

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
id="WebApp_ID" version="3.0" > 

<display-name>Order Activation Snapshot</display-name> 

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


    <!-- Loads Spring Security config file --> 
    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>   
      /WEB-INF/spring-security.xml, 
      /WEB-INF/data-source-cfg.xml, 
      /WEB-INF/mvc-dispatcher-servlet.xml 
     </param-value> 

    </context-param> 


    <!-- Spring MVC --> 
    <servlet> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 


    <!-- Spring Security Filter --> 
    <filter> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

</web-app> 

2)MVC-ディスパッチャ・サーブレット:ネストされた例外はjava.io.FileNotFoundExceptionあります。 xml

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation=" 
      http://www.springframework.org/schema/beans  
      http://www.springframework.org/schema/beans/spring-beans-4.1.xsd 
      http://www.springframework.org/schema/context 
      http://www.springframework.org/schema/context/spring-context-4.1.xsd"> 

     <context:component-scan base-package="org.o7planning.tutorial.springmvcsecurity.controller" /> 
     <context:annotation-config /> 

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

    </beans> 

ここでは何が欠けているのかわかりません。

File structure in my code base

+0

あなたのアプリケーションにもテストケースがありますか? –

答えて

0

コーディネーターサーブレット名は一意である必要があります。 dispatcher-servlet.xml/WEB-INF/に探して、あなたのコードのどこかにあなたのコンパイラ/ Intepreterに言ったことがあります。しかし、mvc-dispatcher-servlet.xmlでディスパッチャの名前を付けたようです。 java.io.FileNotFoundException例外が発生する可能性があります。 2つのこと:どちらのあなたはディスパッチャ-servlet.xmlを持っていた場所に移動し、MVC-ディスパッチャ-servlet.xmlに置き換えるか、次の操作を行います。

を交換し、あなたのディスパッチャサーブレット名:

どこでも

dispatcher-servlet 

mvc-dispatcher-servlet 

xmlディスパッチャーサーブレットへの拡張が必要です。

... 

<!-- Loads Spring Security config file --> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>   
     /WEB-INF/spring-security.xml, 
     /WEB-INF/data-source-cfg.xml, 
     /WEB-INF/dispatcher-servlet.xml <!--changed here --> 
    </param-value> 

</context-param> 


<!-- Spring MVC --> 
<servlet> 
    <servlet-name>dispatcher</servlet-name> <!--changed here --> 
    <servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> <!--changed here --> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

... 

注:たとえば

は、あなたののweb.xmlに、次の変更を行うことができます。私は変更を加えた行についてコメントしました。

+0

これにジャンプしてくれてありがとうEdwardo、私は故意にディスパッチャーのサーブレット名を変更しました。私が見る限り、web.xmlだけがどのサーブレットをピックアップするかを示しています。そこには正しいサーブレット、つまり "-servlet.xml"が後置される "mvc-dispatcher"が記述されています。 – JavaTechno

+0

@JavaTechnoそうですね。だからあなたは問題を解決したのですか? –

+0

私はあなたのプロジェクトのどこかに「ディスパッチャーサーブレット」があると思います。その文字列のプロジェクト全体を検索してみてください。または、Javaクラスを調べることから始めてください。 –

関連する問題