Spring MVC的 - 可能无法获得的RequestDispatcher [复制](Spring

2019-10-20 03:34发布

这个问题已经在这里有一个答案:

  • 如何DispatcherServlet的,Resolver和控制器互动? 2个回答

我在我的Spring MVC应用程序有问题。

该问题发生在Linux服务器上,本地(窗口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文件(资源/ JS / logs.js,在WEB-INF之外)。 我得到了404,当地我得到我的文件。

我非常不知道在哪里,这是从哪里来的,再次,它完美的作品对我的地方。 Tomcat的配置是很常见的。 所以感谢您事先的任何想法。

Answer 1:

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

默认的web.xml(在$ CATALINA_BASE / conf目录/ web.xml)中失踪。 其结果是,默认操作和servlet未正确组成。

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

我只是把它添加到我的tomcat来解决这个问题的conf文件夹。



文章来源: Spring MVC - Could not get RequestDispatcher [duplicate]