关于IDEA中添加静态资源(html,jpg等)后找不到资源(404 not found),以及WEB-INF目录介绍
关于静态资源的加载
在IDEA中的java web application(或者maven项目)添加新的静态资源时(如html,jpg,gif等),常常会遇到静态资源无法加载的情况。这样的情况我们一般都会想到首先通过热部署或者重启tomcat服务器来加载资源。
但是,有些时候,无论我们的tomcat是否热部署或者不管怎么重启tomcat都无法访问这些资源(提示404找不到),然后就百思不得其解。这种时候可以尝试一下重启整个IDEA,重启之后或许就能够找到这些静态资源。
这可能是由于out目录(idea中的Excluded输出目录,默认为橘红色)中没有加载到这些资源,将需要加载的静态资源手动复制到对应的目录下就行了。这样就可以避免我们在添加静态资源时反复重启IDEA了。

当然上述内容是建立在静态资源没有放在不合适位置的前提下。
一般情况下,这些静态资源往往放置于与WEB-INF同一级的webapp或者WebRoot文件夹(或其子目录)>下,而不能放在WEB-INF目录中。
说到这里,咱就顺便介绍一下web项目中的WEB-INF目录
web项目中的WEB-INF目录
WEB-INF是Java web的安全目录,其中一般包含:
- /WEB-INF/web.xml : web应用的配置文件,描述servlet和其他应用组件配置及命名规则,相信大家如果配置过servlet对它一定不陌生。
- /WEB-INF/classes/ :该目录包含站点的class文件,包括 servlet class 和非servlet class。
- /WEB-INF/lib/ : 存放web application所需要的各种jar包,一般需要在IDEA的Project Structure的Modules中将这个目录添加到依赖。这个目录一般放置仅在这个web应用中用到的jar文件,例如数据库驱动jar文件(我们链接postgis数据库时就需要用到)。
- 由于WEB-INF目录是不对外开放的,外部没办法直接访问到(即不能通过URL访问)。只能通过映射来访问,比如映射为一个action或者servlet通过服务器端跳转来访问到具体的页面。这样,在WEB-INF目录中就可以存放一些不对外开放的页面,限制用户的访问,提高安全性。
关于IDEA中添加静态资源(html,jpg等)后找不到资源(404 not found),以及WEB-INF目录介绍的更多相关文章
- Qt中添加静态库.lb,.a和动态库.dll,.so,头文件和.cpp文件
添加步骤 1.-Qt Creator中,"项目"------"添加库"2.把静态库和动态库文件放到项目文件夹中3.在.pro文件中会添加如下代码: - 添加动态 ...
- Django 项目中添加静态文件夹
在 mysite 文件夹下添加一个 statics 文件夹用来存放 js 文件 在 index.html 文件中添加 <!DOCTYPE html> <html lang=" ...
- 一、SAP中添加一个模块到收藏夹后,显示事务代码
一.在SAP中,如果添加一个模块到收藏夹,默认是看不到事务代码的,如图: 二.我们在附件->设置中勾选显示技术名称 三.保存之后,就会显示出事务代码,如图所示: 不忘初心,如果您认为这篇文章有价 ...
- vue打包后找不到资源路径问题
问题描述: 使用webpack打包vue项目后,前后端联调无法找到资源 解决方案: 一. 改为相对路径,去除axios中地址的第一个“/” onProxyReq: function (proxyReq ...
- 类中添加log4j日志
在编写代码的时候需要随时查看工作日志,查看工作日志的好处就是随时能检查出错误.所以我一般就需要在编写代码的前期添加工作日志,以便更好的查看相关错误输出. 以一个springmvc小demo为例子 主 ...
- SharePoint Framework 向web部件中添加外部库
博客地址:http://blog.csdn.net/FoxDave 在进行开发的时候,你很可能会想要引用一些公开的JavaScript库到你的项目中,本文将会介绍如何打包和共享这些库. 打包脚本 默认 ...
- vmware中nat模式中使用静态ip后无法上网的问题
在/etc/network/interfaces中添加静态ip auto eth0iface eth0 inet staticaddress 192.168.31.133netmask 255.255 ...
- android 开发中 添加库文件 和so 文件的存放位置和添加依赖
so文件一般存储在 main 当中 jniLibs 当中 然后在build.gradle中添加 sourceSets { main { jniLibs.srcDirs = ['src/main/j ...
- 关于在Silverlight中添加图片的问题
在Silverlight中添加图片,目前支持的Image格式有jpg和png两种,如何在目录中添加,有些什么技巧呢? <StackPanel Background="White&quo ...
随机推荐
- S7-1200在博途V16中新建数据块(DB)
硬件环境: S7-1200 CPU V4.4(6ES7 212-1AE40-0XB0) 软件环境: (1)Windows 10 Professional SP1 64位 (2)STEP7 V16 SP ...
- eclipse启动指定jvm的版本
参阅:https://www.eclipse.org/forums/index.php/t/1105435/ https://wiki.eclipse.org/Eclipse.ini#-vm_valu ...
- mac 添加java_home 和启动es
转:https://www.cnblogs.com/wxmdevelop/p/9935797.html p.p1 { margin: 0; font: 11px Menlo; color: rgba( ...
- 什么是IOC?
IoC是什么 Ioc-Inversion of Control,即"控制反转",不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传 ...
- python-正整数的因子展开式
[题目描述]编写程序,输出一个给定正整数x(x>1)的质因子展开式. [输入格式]请在一行中输入整数x的值. [输出格式]对每一组输入的x,按以下格式输出x的质因子展开式(假如x的质因子分别为a ...
- 【uniapp 开发】uni-app 中如何打开外部应用
我们在开发 App 应用中,经常会遇到打开第三方程序的场景,比如打开手机淘宝.通过第三方浏览器打开一个 url 等等. App不像网页可以使用http超链接互相跳转,但手机os设计了scheme机制, ...
- Value注解获取值一直为Null
@Value("${jwt.tokenHeader}") private String tokenHeader; 常见的错误解决办法如下: 1.使用static或final修饰了t ...
- 【Android开发】jarsigner重新打包apk
签名(sign):在应用程序的特定字段写入特定的标记信息,表示该软件已经通过了签署者的审核. 过程:使用私有密钥数字地签署一个给定的应用程序. 作用: 识别应用程序作者: 检測应用程序是否发生改变: ...
- PAT 1048数字加密
本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余--这里用 J 代表 ...
- 集合框架基础三——Map
Map接口 * 将键映射到值的对象 * 一个映射不能包含重复的键 * 每个键最多只能映射到一个值 Map接口和Collection接口的不同 * Map是双列的,Collection是单列的 * ...