问题:

以 Maven 为例,当启动一个新的 web 项目时,结构与此相同/相似:

Meu Projeto|- src|- main|- java|- resources|- webapp|- WEB-INF

其中,在“webapp”目录中,放置了web应用程序使用的文件:html、css、Javascript、JSPs等。

我的问题是关于 WEB-INF 目录,有几个项目使用这个目录来放置扩展名为 .jsp 的文件,而不是直接将它们放在“webapp”中。一个例子是 Caelum 的Mammoth,他们为此创建了一个名为“jsps”的目录。

根据我的阅读,WEB-INF 中包含的文件不能被客户端直接访问,因为它们不是公共的,但它们可以被 servlet 访问:

名为 WEB-INF 的应用程序层次结构中存在一个特殊目录。此目录包含与应用程序相关但不在应用程序根文档中的所有内容。WEB-INF 节点不是应用程序公共文档树的一部分。在 WEB-INF 目录中包含的文件可以由容器直接提供给客户端。但是,WEB-INF 目录的内容对 servlet 代码使用getResourcegetResourceAsStream方法调用是可见的ServletContext并且可以使用RequestDispatcher调用公开。

那么仅仅是为了安全吗?获取文件的唯一方法是通过 servlet 进行处理。

回答:

9.10 隐藏我们的页面 – https://www.caelum.com.br/apostila-java-web/mvc-model-view-controller/

如果页面位于 /webapp 中,用户将可以直接访问它们。如果只是静态页面,我看不出有什么问题。但是有些页面在显示之前需要逻辑,如果用户直接访问jsp页面将无法正确显示,也不会经过控制器。

“因此,我们不能让用户直接访问我们的页面。为了使这种直接访问变得不可能,我们将把我们的页面放在 WEB-INF/ 目录中”

为什么将.jsp 文件放在WEB-INF 目录中?相关推荐

  1. c语言gcno文件位置,makefile - 具有覆盖率的CMake Ninja将gcno文件放在根二进制目录中 - 堆栈内存溢出...

    我正在使用忍者生成器通过cmake构建一个项目,并使用add_compile_options("$:-g;-O0;-ftest-coverage;-fprofile-arcs;-fno-bu ...

  2. Tomcat配置,直接打开jsp文件访问web

    javaweb的项目都是在myeclipse中写的,而这个软件运行缓慢,使用十分不便,因此在上次实验中用到了一种新的方法,在网上查到的可以用的,解决了这个问题.具体总结一下. 我们的myeclpse是 ...

  3. linux 复制指定目录下的全部文件到另一个目录中,linux cp 文件夹

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. linux复制指定目录下的全部文件到另一个目录中 复制指定目录下的全部文件到另一个目录中 文件及目录 ...

  4. 将linux目录中的特定文件推送到手机_linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹...

    linux复制指定目录下的全部文件到另一个目录中 复制指定目录下的全部文件到另一个目录中 文件及目录的复制是经常要用到的.linux下进行复制的命令为cp. 假设复制源目录 为 dir1 ,目标目录为 ...

  5. html复制文件到目录,复制指定目录下的全部文件到另一个目录中

    linux下文件的复制.移动与删除命令为:cp,mv,rm 复制指定目录下的全部文件到另一个目录中 假设复制源目录 为 dir1 ,目标目录为dir2.怎样才能将dir1下所有文件复制到dir2下了 ...

  6. 到另一个文件夹 复制hdfs上的文件_复制指定目录下的全部文件到另一个目录中...

    linux下文件的复制.移动与删除命令为:cp,mv,rm 复制指定目录下的全部文件到另一个目录中 假设复制源目录 为 dir1 ,目标目录为dir2.怎样才能将dir1下所有文件复制到dir2下了 ...

  7. linux cp目录到指定目录,linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹...

    解压war包    jar -xvf   xxxx.war linux复制指定目录下的全部文件到另一个目录中 复制指定目录下的全部文件到另一个目录中 文件及目录的复制是经常要用到的.linux下进行复 ...

  8. tar解压单个文件到特定目录_技术|如何解压 tar 文件到不同的目录中

    我想要解压一个tar文件到一个叫/tmp/data的指定目录.我该如何在Linux或者类Unix的系统中使用tar命令解压一个tar文件到不同的目录中? 你不必使用cd命令切换到其他的目录并解压.可以 ...

  9. java获取WEB INF目录绝对路径

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! JSP ...

最新文章

  1. 报错解决:error: this statement may fall through [-Werror=implicit-fallthrough=]
  2. [CPyUG] Instagram被收购了一细看,python味很重的说。 - maolingzhi@gmail.com - Gmail
  3. 报表测试用例设计方法总结
  4. display(block,inline,none),visibility(visible,hidden)之间的关系及区别(不同)
  5. CVE-2018-15473(OpenSSH用户枚举漏洞)
  6. Telegraf和Grafana监控多平台上的SQL Server
  7. .NET开源两年之后社区贡献如何
  8. 关于Java泛型和擦除
  9. 【渝粤教育】 国家开放大学2020年春季 1129土木工程力学(本) 参考试题
  10. 在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题)
  11. asp判断是否移动端_ASP判断当前访问的是PC端还是移动设备端
  12. 阶段3 3.SpringMVC·_06.异常处理及拦截器_2 SpringMVC异常处理之演示程序异常
  13. Python 正则式学习笔记 [转]
  14. qsor快排序以及cmp函数
  15. MacOS Big Sur 11.4 (20F71) OC 0.7.0 / Cl 5135 / PE 三分区原版黑苹果镜像
  16. 360安全浏览器极速模式怎么设置
  17. 高级电工技术实训考核装置
  18. Sublime Text2使用教程(转载)
  19. JAVA全栈工程师之路
  20. 软件测试面试中会问的几个方面

热门文章

  1. 浅谈数据挖掘——频繁模式、序列挖掘与搜索优化算法
  2. 王者荣耀为何不再荣耀?
  3. 【观察】维谛技术(Vertiv):以时间价值五力模型践行长期主义,共赴数据中心节碳新征程...
  4. 点石互动--Zac之:Zac访谈Matt Cutts
  5. 图像处理之Zhang Suen细化算法
  6. 面试:自我介绍环节模板流程
  7. 如何修改后台密码错误超过5次被限制60分钟登录
  8. 获取外网IP地址API
  9. WAMP 下 awstats 配置
  10. thinkphp5 创建数据表