2014-05-18 50 views
1

我的Spring MVC應用程序出現問題。Spring MVC - 無法獲得RequestDispatcher

問題只有發生在Linux服務器,本地(Windows 7 +月食),一切工作正常。

當我進入我的頁面,控制器被稱爲但是當服務器服務於jsp頁面,我有:

HTTP Status 500 - Could not get RequestDispatcher for [/WEB-INF/pages/index.jsp]: Check that the corresponding file exists within your web application archive! 

該文件存在,該路徑是好的。

這裏從我的web.xml

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

    <servlet-mapping> 
    <servlet-name>cms-admin-dispatcher</servlet-name> 
     <url-pattern>/do/*</url-pattern> 
    </servlet-mapping> 


    <context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/cms-admin-dispatcher-servlet.xml</param-value> 
    </context-param> 

的提取物和我的servlet調度:

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

我試圖通過*。html的來代替我的/ DO/*模式,但沒有任何改變。 我也試圖把我的jsp放在WEB-INF之外。

我想:

<servlet> 
     <servlet-name>jsp</servlet-name> 
    <jsp-file>/WEB-INF/pages/index.jsp</jsp-file> 
     <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> 

</servlet> 

<servlet-mapping> 
<servlet-name>jsp</servlet-name> 
<url-pattern>/toto</url-pattern> 
</servlet-mapping> 

這樣的作品,jsp頁面加載但不是資源。

其他的事情,我無法直接訪問任何js文件(resources/js/logs.js,在WEB-INF之外)。我得到一個404,在本地我得到我的文件。

我不知道這是從哪裏來的,再次,它在我的本地完美工作。 tomcat配置很常見。所以感謝您爲任何想法提前。

+0

你是否再次檢查文件。它在WEB-INF /頁面內嗎? – Braj

+0

可能是'index.jsp'在wepapp(war)正下方的WEB-INF文件夾之外。 – Braj

+0

是的,我檢查了這個文件是在好的地方。我配置我的tomcat解包warfile。所以,我可以看到該文件。 對於重複,我不這麼認爲,這似乎是一個不同的問題。我加入控制器,映射執行得很好。但micha的迴應可能會幫助我。 – user3441241

回答