0

我的 google-app-engine.xml 中的资源/静态配置...

    <resource-files>
    <include path="/data/**" />
</resource-files>
<static-files>
    <include path="/images/**" />
    <include path="/bootstrap/**" />
    <include path="/views/error/*.html" />
    <include path="/favicon.ico" />
</static-files>

我的项目的目录视图..

通过使用http://localhost:8080/views/SetNewPassword.jsp我可以直接访问JSP。以我目前的配置,这不应该被隐藏吗?

(将 Maven 设置与本地测试/开发服务器一起用于谷歌应用引擎)

4

2 回答 2

2

WEB-INF 文件夹下的jsp 受到保护,不能直接访问。您的 jsp 'SetNewPassword.jsp' 不在 'WEB-INF' 下,所以我想它可以直接访问,除非我遗漏了什么。

于 2013-08-14T18:01:00.737 回答
1

因为 JSP 不是静态文件。它们被编译成 servlet 并在服务器端执行。

从文档中引用:

许多 Web 应用程序具有直接提供给用户浏览器的文件,例如图像、CSS 样式表或浏览器 JavaScript 代码。这些被称为静态文件,因为它们不会更改,并且可以从专用于静态内容的 Web 服务器中受益。App Engine 从独立于应用程序服务器的专用服务器和缓存中提供静态文件。

应用程序代码可以使用文件系统访问的文件称为资源文件。这些文件与应用程序一起存储在应用程序服务器上。

默认情况下,WAR 中的所有文件都被视为静态文件和资源文件,除了 JSP 文件,它们被编译成 servlet 类并映射到 URL 路径,以及 WEB-INF/ 目录中的文件,它们从不作为静态文件,并且始终作为资源文件可供应用程序使用。

于 2013-08-14T18:05:01.360 回答