【问题标题】:HTTP Status 404 errorHTTP 状态 404 错误
【发布时间】:2015-02-17 20:09:54
【问题描述】:

我正在尝试使用 jsp 而不是 HTML 来显示我的结果。我找不到资源(找不到 jsp 文件)。 这是我的java文件中的代码...

//Forward to JSP
RequestDispatcher dispatcher = getServletConfig().getServletContext().getRequestDispatcher("/WebContent/result.jsp");

// I also tried
RequestDispatcher dispatcher = request.getRequestDispatcher("/WebContent/result.jsp");

然后我将 result.jsp 放在了 WebContent 文件夹中。

我收到以下错误

HTTP Status 404
message /SimpleJSPApp/WebContent/result.jsp
description The requested resource is not available.

我的服务器属性设置正确。它适用于我的其他 Servlet 应用程序。

非常感谢任何帮助。 谢谢。 J.

【问题讨论】:

  • 尝试result.jsp 并实际转发给它

标签: java jsp servlets


【解决方案1】:

你不用提/WebContent/result.jsp只提jsp名称result.jsp

之后

RequestDispatcher rd = request.getRequestDispatcher("result.jsp");

只需使用转发请求

rd.forward(request,response);

你也可以include结果,这里有一个很好的article关于Request Dispatcher

【讨论】:

    【解决方案2】:

    修改代码使用

    RequestDispatcher dispatcher =request.getRequestDispatcher("result.jsp");
    dispatcher.foward(request,response);
                     OR
    RequestDispatcher dispatcher =servletContext.getRequestDispatcher("result.jsp");
    dispatcher.foward(request,response);
    

    两者的结果相同。

    查看此博客以详细了解 RequestDispatcher 。 http://javarevisited.blogspot.in/2011/09/sendredirect-forward-jsp-servlet.html

    【讨论】:

    • 可能是include
    • 当你使用forward时,控制权转移到你正在调用的下一个servlet,而include将控制权保留在当前的servlet中,它只包含调用servlet所做的处理
    • 之前你打过电话,两行都转发,我写的就是这个
    猜你喜欢
    • 2018-11-18
    • 2014-10-24
    • 1970-01-01
    • 2021-06-19
    • 2015-08-29
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 2011-06-20
    相关资源
    最近更新 更多