在Google App Engine应用程序内调用JSP会在生产服务器上导致404错误,在开发服务器上有效

问题描述 投票:0回答:1

我在Google App Engine应用程序内调用JSP文件时遇到问题。 这是web.xml相关配置的等效版本:

<servlet>
    <servlet-name>SomeServlet</servlet-name>
    <jsp-file>SomeServlet.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>SomeServlet</servlet-name>
    <url-pattern>/prefix</url-pattern>
</servlet-mapping>

当我尝试在http://localhost:8888/prefix的开发环境中访问SomeServlet ,此方法工作正常,但是,如果我在http://someapp.appspot.com/prefix生产环境中尝试使用它,则会收到HTTP错误404(未找到) )。 在文件系统中是war/SomeServlet.jsp 。 服务器日志中没有更多信息。 我也尝试了各种访问控制配置,但无济于事。

失败的原因可能是什么?

google-app-engine servlets http-status-code-404
1个回答
3
投票

您应该使用:

<jsp-file>/SomeServlet.jsp</jsp-file>

从文档中:

注意:如果JSP在应用程序的根目录中,则<jsp-file>必须以正斜杠(/)开头。

© www.soinside.com 2019 - 2024. All rights reserved.