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