首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >WEB-INF在Java EE web应用程序中的用途是什么?

WEB-INF在Java EE web应用程序中的用途是什么?
EN

Stack Overflow用户
提问于 2013-11-05 17:57:31
回答 3查看 194.3K关注 0票数 198

我正在开发一个具有以下源代码目录结构的Java EE web应用程序:

代码语言:javascript
复制
src/main/java                 <-- multiple packages containing Java classes
src/test/java                 <-- multiple packages containing JUnit tests
src/main/resources            <-- includes properties files for textual messages
src/main/webapp/resources     <-- includes CSS, images and all Javascript files
src/main/webapp/WEB-INF
src/main/webapp/WEB-INF/tags
src/main/webapp/WEB-INF/views

我感兴趣的文件夹是WEB-INF:它包含web.xml、用于设置servlet的XML文件、Spring bean连接上下文以及JSP标记和视图。我正在尝试理解是什么约束/定义了这个结构。例如,JSP文件是否总是必须在WEB-INF中,或者它们是否可以在其他地方?在WEB-INF中还有其他可能的东西吗?维基百科的WAR files条目提到了用于Java类的classes和用于JAR文件的lib --我不确定除了其他源文件位置之外,什么时候还需要这些。

EN

回答 3

Stack Overflow用户

发布于 2013-11-05 18:04:57

您应该将不想公开的任何页面或页面片段放入WEB-INF中。通常,在WEB-INF之外可以找到JSP或facelets,但在这种情况下,任何用户都可以轻松地访问它们。如果您有一些授权限制,可以使用WEB-INF。

WEB-INF/lib可以包含您不想在系统级打包的第三方库(JAR可用于服务器上运行的所有应用程序),但仅适用于此特定应用程序。

一般来说,许多配置文件也会放入WEB-INF中。

至于WEB-INF/classes -它存在于任何web应用程序中,因为它是放置所有编译源代码的文件夹(不是JARS,而是您自己编写的编译.java文件)。

票数 12
EN

Stack Overflow用户

发布于 2016-11-17 06:49:31

出于安全原因,遵循此约定。例如,如果允许未经授权的人直接从URL访问根JSP文件,那么他们可以在整个应用程序中导航,而无需任何身份验证,并且他们可以访问所有受保护的数据。

票数 4
EN

Stack Overflow用户

发布于 2016-04-15 16:11:07

有一个约定(不是必须的)是将jsp页面放在WEB-INF目录下,这样它们就不能被深度链接或添加书签。这样,所有对jsp页面的请求都必须通过我们的应用程序进行定向,这样才能保证用户体验。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19786142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档