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设置与本地测试/ dev服务器进行谷歌应用引擎)
答案 0 :(得分:2)
保护WEB-INF文件夹下的jsp免受直接访问。你的jsp'SetNewPassword.jsp'不在'WEB-INF'下,所以我想它可以直接访问,除非我遗漏了什么。
答案 1 :(得分:1)
因为JSP不是静态文件。它们被编译为servlet并在服务器端执行。
许多Web应用程序都有直接提供给用户浏览器的文件,例如图像,CSS样式表或浏览器JavaScript代码。这些被称为静态文件,因为它们不会更改,并且可以从专用于静态内容的Web服务器中受益。 App Engine提供来自与应用程序服务器分开的专用服务器和缓存的静态文件。
使用文件系统的应用程序代码可访问的文件称为资源文件。这些文件与应用程序一起存储在应用程序服务器上。
默认情况下,WAR中的所有文件都被视为静态文件和资源文件,JSP文件(编译为servlet类并映射到URL路径)和WEB-INF /目录中的文件除外,它们是从未作为静态文件提供,并始终作为资源文件提供给应用程序。