一尘不染

Spring MVC-无法获取RequestDispatcher

jsp

我的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配置很常见。因此,感谢您提出任何建议。


阅读 556

收藏
2020-06-10

共1个答案

一尘不染

在 Tomcat的找不到JSP战争文件后给我的问题。

缺少默认的web.xml(在$ CATALINA_BASE / conf / web.xml上)。结果是默认操作和servlet的构成不正确。

http://tomcat.apache.org/tomcat-7.0-doc/default-servlet.html

我刚刚将其添加到了tomcat的conf文件夹中以解决此问题。

2020-06-10