为什么classes目录要放在WEB-INF目录下?

简介:

题,今天项目运行报错

...NoSuchBeanDefinitionException: No bean named 'shiroFilter'

异常交代的很清楚,web容器没有找到相应的bean。那么,查询后会从两个方面入手:

  1. 相应的xml配置文件有问题?

  2. 指定的bean没有发现?


    然后逐一排查,和同事确认后排出第一个问题,因为同样的代码他的OK运行良好。重点就放到第二项问题了,顺着xml配置查找相应的类文件,都找到了。这下问题就头大了,配置好+文件都在,就是启动不了,难道是需要更换web容器(有同事这时候提到自己更换到tomcat7后解决过这种问题),在我更换的前一步,我在尝试了一次。


终  于

    被我尝试成功,修改了java文件编译后的class文件存放目录classes。调整之前的目录配置在了和WEB-INF同级,调整为“../WEB-INF/classes”世界从此回复秩序,稳定运转中。O(∩_∩)O哈哈~

wKioL1TULaGDYdi6AAFbLYDWdxc712.jpg

扩展阅读

为什么classes目录要放在WEB-INF目录下呢?

答:这里必须了解servlet的约定。拿题目中的问题来说,使用的是tomcat容器,它加载class文件的顺序是哪样的呢。

如果要用到某个类,则Web应用程序会到/WEB-INF/classes中试着载入类,若无,再试着从/WEB-INF/lib的JAR文件中寻找类文件(若还没有找到,则会到容器实现本身存放类或JAR的目录中寻找,但位置视实现厂商而有所不同,以Tomcat而言,搜寻的路径是Tomcat安装目录下的lib目录)。

所以,大家都知道为什么了吧。我们将classes目录和WEB-INF目录同级的时候,web容器根本找不到的。



本文转自 沫沫金 51CTO博客,原文链接:http://blog.51cto.com/zl0828/1612266,如需转载请自行联系原作者

相关文章
|
1月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
164 0
|
监控 安全 JavaScript
【web渗透思路】框架敏感信息泄露(特点、目录、配置)
【web渗透思路】框架敏感信息泄露(特点、目录、配置)
501 0
【web渗透思路】框架敏感信息泄露(特点、目录、配置)
|
4月前
|
存储 安全 C++
C++ LibCurl实现Web隐藏目录扫描
LibCurl是一个开源的免费的多协议数据传输开源库,该框架具备跨平台性,开源免费,并提供了包括HTTP、FTP、SMTP、POP3等协议的功能,使用libcurl可以方便地进行网络数据传输操作,如发送HTTP请求、下载文件、发送电子邮件等。它被广泛应用于各种网络应用开发中,特别是涉及到数据传输的场景。本章将是`《C++ LibCurl 库的使用方法》`的扩展篇,在前一篇文章中我们简单实现了LibCurl对特定页面的访问功能,本文将继续扩展该功能,并以此实现Web隐藏目录扫描功能。
29 0
C++ LibCurl实现Web隐藏目录扫描
|
7月前
|
存储 Apache 文件存储
Apache On Windows 如何使用阿里云NAS作为WEB站点目录
在Windows操作系统运行Apache WEB服务器的用户如何使用阿里云NAS共享作为WEB 站点目录。
211 0
|
7月前
|
Java 数据库
为什么WEB-INF目录是必须要有的?
为什么WEB-INF目录是必须要有的?
53 0
|
8月前
|
Linux 数据安全/隐私保护 Windows
https、虚拟目录、用户控制搭建web实验
https、虚拟目录、用户控制搭建web实验
|
9月前
|
数据可视化 前端开发 JavaScript
python+Django+Mysql+Echarts数据可视化实战教程(2):Django环境下web目录的配置
python+Django+Mysql+Echarts数据可视化实战教程(2):Django环境下web目录的配置
186 0
HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容——错误代码:0x00000000
最近在课上学习IIS发布.NET Core项目出现HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容——错误代码:0x00000000
HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容——错误代码:0x00000000
|
Python
Python 实现Web隐藏目录扫描
**Web隐藏目录扫描:** 首先你需要自己寻找一个靠谱的字典,放入脚本根目录并命名为`dict.log`每行一个路径名称.
133 0
|
数据采集 Linux 网络安全
2022-渗透测试-web目录爆破-常用的三个工具
2022-渗透测试-web目录爆破-常用的三个工具
2022-渗透测试-web目录爆破-常用的三个工具