为什么要将 JSP 放在 WEB-INF 中?
我注意到一个常见的模式是将JSP页面放在WEB-INF文件夹中(而不是WAR根目录)。有什么区别?为什么首选?
我注意到一个常见的模式是将JSP页面放在WEB-INF文件夹中(而不是WAR根目录)。有什么区别?为什么首选?
中的文件对用户不可见。这样更安全一些。WEB-INF
如果(一个人为的例子)你包括 ,但它本身会引发一个异常,恶意用户可以打开并从异常消息中获取一些关于你的应用程序(最坏的情况 - 数据库凭据)的见解。db.jsp
http://yoursite.com/db.jsp
我不认为这是一个好的设计模式,但我相信我可以解释其中的道理。
Servlet 容器不会提供 中的任何内容。通过将 JSP 放在那里,您可以通过在浏览器中按名称导航到 JSP 来防止任何人直接访问 JSP。这可能被认为是很好的做法,如果你的一些JSP只是代码/标记的片段,而不是直接使用,也许会打开一些你没有的安全漏洞。WEB-INF
即使在 中,仍然可以让容器按预期查看和使用 JSP。WEB-INF