为了账号安全,请及时绑定邮箱和手机立即绑定

找不到带有URI [/WEB-INF/pages/apiForm.jsp]的HTTP请求的映射

/ 猿问

找不到带有URI [/WEB-INF/pages/apiForm.jsp]的HTTP请求的映射

四季花海 2019-10-25 10:04:37

我的处理程序转发到internalresourceview'apiForm',但随后出现错误404 RequestURI = / WEB-INF / pages / apiForm.jsp。我确定apiForm.jsp位于/ WEB-INF / pages /


13:45:02,034调试[org.springframework.web.servlet.view.JstlView]-转发到InternalResourceView'apiForm'中的资源[/WEB-INF/pages/apiForm.jsp] 

13:45:02,035调试[org.springframework .web.servlet.DispatcherServlet]-名称为'testapp2'的DispatcherServlet为[/WEB-INF/pages/apiForm.jsp]确定Last-Modified值

13:45:02,038调试[org.springframework.web.servlet.DispatcherServlet]-在getLastModified 

13:45:02,038中找不到处理程序DEBUG [org.springframework.web.servlet.DispatcherServlet]-名称为'testapp2'的DispatcherServlet处理[/WEB-INF/pages/apiForm.jsp]的请求

13:45:02,038WARN [org.springframework.web.servlet.PageNotFound]-在DispatcherServlet中,名称为“ testapp2”的URI [/WEB-INF/pages/apiForm.jsp]找不到HTTP请求的映射

13:45:02,045 DEBUG [org.springframework .web.servlet.DispatcherServlet]-成功完成请求

13:45:02,048 DEBUG [org.springframework.web.servlet.DispatcherServlet]-成功完成请求


这就是我的dispatcher.xml的样子。


<bean id="viewResolver"

    class="org.springframework.web.servlet.view.UrlBasedViewResolver">

    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>

    <property name="prefix" value="/WEB-INF/pages/"/>

    <property name="suffix" value=".jsp"/>

</bean>


查看完整描述

3 回答

?
慕盖茨1488219

看起来DispatcherServlet正在尝试处理对apiForm.jsp的请求,这向我暗示您的web.xml Servlet映射正在将对该空间的请求定向到DispatcherServlet。


您可能会遇到这样的事情?


<servlet-mapping>

  <servlet>dispatcher</servlet>

  <url-pattern>/*</url-pattern>

</servlet-mapping>

尝试使用其他扩展名(例如,.do)调用控制器,并更新servlet映射以适合


 <servlet-mapping>

  <servlet>dispatcher</servlet>

  <url-pattern>*.do</url-pattern>

</servlet-mapping>


查看完整回答
反对 回复 2019-10-25
?
海绵宝宝撒

是的,我知道我参加这个聚会迟到了,但这可能会帮助其他人。


Servlet容器根据匹配的最长路径选择映射。因此,您可以为您的JSP放置此映射,它将在/ *映射上被选择。


<servlet-mapping>

  <servlet-name>jsp</servlet-name>

  <url-pattern>/WEB-INF/pages/*</url-pattern>

 </servlet-mapping>

实际上,对于Tomcat而言,这就是您所需要的,因为jsp是一个现成的servlet。对于其他容器,您需要找出JSP Servlet的名称或添加Servlet定义,例如:


<servlet>

  <servlet-name>jsp</servlet-name>

  <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>

</servlet>


查看完整回答
反对 回复 2019-10-25
?
动漫人物

当您将url-pattern设置为/ *时,所有请求都将发送到该DispatcherServlet,其中包括JSP渲染请求。尽管这不是真的,但有时将InternalResourceView(并像JstlView一样派生)视为另一个HTTP请求有时会很有用,因为那样您会看到为什么DispatcherServlet会收到针对JSP的请求。

查看完整回答
反对 回复 2019-10-25
  • 3 回答
  • 0 关注
  • 72 浏览
我要回答

相关问题推荐

慕课专栏
更多

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信