问题:

以 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. 产生BFC环境的几种方式
  2. Power Designer使用技巧
  3. 本地的文件怎么放到虚拟桌面_搬新家桌面文件怎么收纳?5个便宜实用的收纳神器,你买过几个?...
  4. linux指令popd,Linux切换目录pushd、popd、dirs命令
  5. python实现函数ifodd_09-Python笔记整理(函数)
  6. ai外呼营销系统_为了让居民预约口罩少出门,长宁这个街道使用AI技术智能语音外呼系统...
  7. rmi远程反序列化rce漏洞_Oracle WebLogic 反序列化远程命令执行漏洞预警
  8. 可变参数(不定项参数)
  9. Windows7部署WordPress傻瓜式教程-cnblogs
  10. 学术前沿 | Texar-PyTorch:在PyTorch里重现TensorFlow的最佳特性
  11. Java变量名命名规则
  12. CentOS 6.5上安装Zabbix 2.4.8
  13. java 排序算法总结,Java排序算法总结之归并排序
  14. 【Caffe代码解析】compute_image_mean
  15. Atitit.故障排除系列---php 程序网站数据库错误排除流程
  16. 四种依恋类型_你们之间的爱情是哪种类型 | 爱情依恋关系测评
  17. 跟对人,走对路,做对事!
  18. 福利:tumblr五年驾龄老司机必备利器
  19. 运动想象EEG背景知识
  20. 极客日报:腾讯回应微信刷掌支付;iPhone 13 Pro或提供1TB版本;Git 2.33 发布

热门文章

  1. .VS文件夹无法删除
  2. ssm基于Android老年人智慧服务平台app(ssm+uinapp+Mysql)
  3. 通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink
  4. YARN node labels
  5. 【html】parentNode的应用
  6. 大数据分析BI工具:帆软、Smartbi与神策数据的对比
  7. 如何使用Smarty模板,使用模板的步骤
  8. 字符串移位 类似[LintCode]8
  9. struts2action无法使用通配符解决办法
  10. 十分钟理解logistic回归原理