【问题标题】:404 - Not Found Error RequestDispatcher jsp forward404 - 未找到错误 RequestDispatcher jsp forward
【发布时间】:2017-09-30 00:42:25
【问题描述】:

我正在尝试将 Servlet 转发到 JSP,当我单击调用转发到 JSP 的 doGet() 的按钮时出现此错误

类型状态报告

消息 /servlet/crossfit/WOD

描述 源服务器没有找到目标资源的当前表示或不愿意透露存在。

这是我的 Servlet 代码:

RequestDispatcher rd getServletContext().getRequestDispatcher("/app/crossfit/amrap.jsp");
        rd.forward(request, response);

这是我的 web.xml 文件中的映射

 <servlet>
    <servlet-name>WOD</servlet-name>
    <description>Handle the workout generator and saver</description>
    <servlet-class>servlet.activity.crossfit.WOD</servlet-class>
</servlet>
  <servlet-mapping>
    <servlet-name>WOD</servlet-name>
    <url-pattern>/servlet/activity/crossfit/WOD</url-pattern>
</servlet-mapping>

> <servlet-mapping>
>         <servlet-name>AmrapServlet</servlet-name>
>         <url-pattern>/app/crossfit/amrap.jsp</url-pattern>
> </servlet-mapping>


> <servlet>
>     <servlet-name>AmrapServlet</servlet-name>
>     <jsp-file>/app/crossfit/amrap.jsp</jsp-file> </servlet>

Project Structure

【问题讨论】:

  • 问题不在于重定向到jsp,而是在路径中找到servlet。您应该在 web.xml 或 servlet 本身(如果您使用注释)中为您的 WOD servlet 提供一个 servlet 映射。 jsp 不需要任何 servlet 映射。
  • 我已经映射了 Servlet,我编辑了问题。
  • 在请求中缺少路径活动。请求的路径是 /servlet/crossfit/WOD 并且在您的 web.xml 中有 /servlet/activity/crossfit/WOD
  • 那么,我应该在哪里修改请求路径?
  • 你没有包含那部分代码,但你描述的是一个按钮点击,所以我假设你也有请求路径。

标签: java jsp servlets requestdispatcher


【解决方案1】:

在请求中,路径 activity 缺失。请求的路径是 /servlet/crossfit/WOD 并且在您的 web.xml 中有 /servlet/activity/crossfit/WOD

在你有按钮的代码中调整你的请求路径从/servlet/crossfit/WOD/servlet/activity/crossfit/WOD

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 2015-09-19
    • 2013-12-03
    • 1970-01-01
    相关资源
    最近更新 更多