背景:

在项目中,使用 "${pageContext.request.contextPath}/image/01.jpg"获取不到该图片。在浏览器中直接输入地址也找不到,报错404.

解决:

首先,图片确实存在,应该是路径问题。检查之后发现,小编把图片放到了webinf文件夹下,把图片取出来直接放到webroot下,就可以访问了。

扩展:

      web工程一般分为src和webRoot两个文件夹,其中,src存放java源代码,而WebRoot存放项目中的jsp、image,还有一些编译文件。这样做的好处就是将页面的显示层和代码层区分开来了。

在WebRoot下有META-INF和WEB-INF,META-INF存放版本号、引用包等,一般很少涉及。WEB-INF我们接触的比较多,下面也会详细介绍。

web-inf是java web的安全目录,之所以说他是安全的是因为他只可以通过服务端访问到,而客户端是无法访问的。如果想在页面中直接访问web-inf中的文件,必须通过web.xml进行映射才可以。比如:使用拦截器接收命令,来控制转发请求。

这种方式降低了网页的注入漏洞,我们的jsp等文件不会暴露出来,bug出现的概率也大大减少了,系统的稳定性就提上来了。但像image等文件就可以直接放在webRoot下方便使用,因此我们常用的webinf目录如下图:

小结:

之前不小心把图片放到了web-inf文件下,导致图片获取不到。找了半天,原来是位置放错了,还是对javaweb的目录不了解,知其然而不知其所以然,才会出现这样的问题。这次查了下,分享给大家。

WEB-INF目录的更多相关文章

  1. JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)

    1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...

  2. 1-5Tomcat 目录结构 和 web项目目录结构

    对应我的安装路径: web项目目录结构

  3. tomcat7.0建立新的web服务目录

    今天参照网上的配置方法配置了下tomcat的web服务目录,结果总是显示404错误,错误原因是The requested resource is not available.搜索了半天解决方法,终于发 ...

  4. web项目目录结构

    eclipse web项目目录结构 按照 Java EE 规范的规定,一个典型的 Web 应用程序有四个部分: 1.  公开目录 ; 2. WEB-INF/web.xml 文件,发布描述符(必选) ; ...

  5. Linux系统Web网站目录和文件安全权限设置

    查看Linux文件的权限:ls -l 文件名称查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)例如: drwxr-xr-x 2 root root 4096 2009-01-14 17 ...

  6. FTP、WEB虚拟目录作用

    随风原文FTP.WEB虚拟目录作用 在 IIS中,双击您要为之添加虚拟目录的服务以显示其属性表.    单击“目录”选项卡.    单击“添加”.    单击“浏览”从“目录”框中选择一个目录.    ...

  7. 两张图搞清楚Eclipse上的Web项目目录

    从MyEclipse转到Eclipse起初有点不习惯eclipse的目录结构,顺手一查看到的文章帮助很大,转载一下: 原文链接:https://www.jianshu.com/p/91050dfcbe ...

  8. 最全的 eclipse web 项目目录结构以及Tomcat的各个目录的作用

    本文会尽可能对 java web 项目的目录结构做出最详细的解释,尽量做到浅显易懂. eclipse web 项目目录结构   java web 项目事例 03-springmvc-drien-xgq ...

  9. windows环境下利用Gitblit搭建Git服务器并实现自动部署Web站点目录

    Git服务搭建多见于linux环境,但windows主机也不少,目前网上文章诸多不全,且以讹传讹,不甚清楚.下面介绍windows环境下的自动部署和发布. 所需环境及资源:Java环境.Gitblit ...

  10. DEDECMS:将dedecms系统的data目录迁移到web以外目录

    dedecms系统的data目录是系统缓存和配置文件的目录,一般都有可以读写的权限,只要是能够写入的目录都可能存在安全隐患,很多站长甚至给予这个目录可执行的权限,更是非常危险,所以我们建议将这个dat ...

随机推荐

  1. PP: 混合生产方式(MTO与MTS为例)(转)

    http://blog.sina.com.cn/s/blog_4c01b7650100yf1d.html PP: 混合生产方式(MTO与MTS为例) 一.业务概览某公司生产的同一种产品正常情况下客户无 ...

  2. 洛谷 P3952

    题目描述 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序 ...

  3. 九、IIC驱动原理分析

    学习目标:学习IIC驱动原理: 一.IIC总线协议 IIC串行总线包括一条数据线(SDA)和一条时钟线(SCL),支持“一主多从”和“多主机”模式:每个从机设备都有唯一的地址来识别. 图 1 IIC ...

  4. Test类实验

    package PC_TEST; class CPU{ int speed; CPU(){ speed=0; } CPU(int k){ speed=k; } void setSpeed(int k) ...

  5. hdu 1394 Minimum Inversion Number(线段树)

    参考:http://blog.sina.com.cn/s/blog_691ce2b70101ldmm.html https://blog.csdn.net/wiking__acm/article/de ...

  6. 初步学习pg_control文件之七

    接前文 初步学习pg_control文件之六  看   pg_control_version 以PostgreSQL9.1.1为了,其HISTORY文件中有如下的内容: Release Release ...

  7. nginx location优先级

    目录 1. 配置语法 2. 配置实例 3. 总结: 网上查了下location的优先级规则,但是很多资料都说的模棱两可,自己动手实地配置了下,下面总结如下. 1. 配置语法 1> 精确匹配 lo ...

  8. .NET基础知识之七——索引器

           索引器是什么?有什么作用?索引器允许类的实例以访问数组的形式来访问对象里面的属性.如我们经常可以看到类似于dr["name"]="test",或者 ...

  9. 用起来超爽的Maven——进阶篇

    以后随着使用的maven的频率增加,此文件会越来越大,也是为什么需要把默认C:\Users\Administrator\.m2 \repository目录改变为D:/OpenSources/repos ...

  10. static和final的区别(转载)

    Java中static 和final的区别 final定义的变量可以看做一个常量,不能被改变: final定义的方法不能被覆盖: final定义的类不能被继承. final static 就是再加上s ...