【问题标题】:jsp:include causes Servtlet exception app enginejsp:include 导致 Servtlet 异常应用程序引擎
【发布时间】:2017-07-04 10:08:44
【问题描述】:

经过大量调试,我发现每次我都包含类似的jsp文件:

<jsp:include page="header.jsp">

当我尝试执行如下 HTTP 请求时:/whatever/request 我得到以下异常:

 javax.servlet.ServletException: File &quot;/whatever/header.jsp&quot; not found

如果我尝试任何路径而不是上面的 /test,例如 /test/test/request 或其他任何东西,都会发生同样的异常。

当我删除所有指令时,一切都很好。我该如何解决这个问题。

【问题讨论】:

    标签: java rest jsp google-app-engine servlets


    【解决方案1】:

    它查找相对于上下文路径的 jsp,在您的示例中,它查找存储在 /whatever/header.jsp 中的 jsp,但它不存在,您应该通过编写完整的项目路径来访问 jsp 文件,否则它将在其中查找那些 jsp您在您的 url 中引用的确切文件夹,如果它在文件夹 /list/London 中显示错误,并且您包含类似

    的 jsp

    &lt;jsp:include page="some.jsp"/&gt;

    然后它会在/list/London/中寻找那个文件,但是如果你写了

    &lt;jsp:include page="/some.jsp"/&gt;

    它会在你的项目的根目录中寻找它,意思是在/

    【讨论】:

    • 这不是问题。它在我创建文件 index.jsp 并在其中包含 header.jsp 时起作用。如果级别超过两个,例如:/whatever/test,则会出现以下错误。我怀疑它与应用程序引擎有关,但仍在调查原因 - 发现了相对相似的问题。可能需要添加更多日志才能查看应用引擎中发生的情况..
    • header.jsp 根本不应该被访问...我正在尝试创建一个 Web 服务,例如 /list/London 应该返回伦敦的所有信息,但它返回错误更多。我怀疑这个问题类似于stackoverflow.com/questions/7026447/…,但我不是 100% 确定...感谢您的努力,非常感谢!
    • 非常感谢!!这终于解决了我的问题!花了两个星期换一个符号“/”lol
    • 编辑了我的答案,如果它解决了您的问题,请考虑将其标记为答案,以便其他用户可以使用它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多