我的Spring MVC应用程序出现问题。
该问题 仅 发生在Linux服务器上,本地(Windows 7 + Eclipse)上,一切正常。
当我访问我的页面时, 将调用控制器, 但是当服务器必须为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文件(WEB-INF外部的资源/js/logs.js)。我得到一个404,在本地我得到了我的文件。
我完全不知道这是哪里来的,同样,它在我的本地计算机上也能很好地工作。tomcat配置很常见。因此,感谢您提出任何建议。
在 Tomcat的找不到JSP战争文件后给我的问题。
缺少默认的web.xml(在$ CATALINA_BASE / conf / web.xml上)。结果是默认操作和servlet的构成不正确。
http://tomcat.apache.org/tomcat-7.0-doc/default-servlet.html
我刚刚将其添加到了tomcat的conf文件夹中以解决此问题。