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

简介: 如题,今天项目运行报错...NoSuchBeanDefinitionException: No bean named 'shiroFilter'异常交代的很清楚,web容器没有找到相应的bean。

题,今天项目运行报错

...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容器根本找不到的。

目录
相关文章
|
11月前
|
JSON 测试技术 API
Postman 教程:快速入门与进阶技巧
本系列教程旨在帮助你从零开始,逐步掌握 Postman 的各项功能,从基础的请求发送到高级的自动化测试和团队协作。无论你是初学者还是有一定经验的开发者,都能在这里找到你需要的知识和技巧。每一篇教程都配有详细的图文说明,确保你能够轻松上手并迅速提升技能。
|
10月前
|
边缘计算 C++ 开发者
.NET 9 中没有 wasi 实验性支持
【11月更文挑战第2天】.NET 9 引入了对 WASI(WebAssembly System Interface)的实验性支持。WASI 扩展了 WebAssembly 的使用场景,使其不仅限于浏览器,还能在服务器端和边缘计算等环境中运行。.NET 9 的 WASI 支持包括构建可在 WASI 环境下运行的应用程序、增强与其他 WASI 模块的互操作性,以及针对 WASI 环境进行性能优化。
163 6
|
6月前
|
监控 JavaScript 前端开发
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
MutationObserver 是一个非常强大的 API,提供了一种高效、灵活的方式来监听和响应 DOM 变化。它解决了传统 DOM 事件监听器的诸多局限性,通过异步、批量的方式处理 DOM 变化,大大提高了性能和效率。在实际开发中,合理使用 MutationObserver 可以帮助我们更好地控制 DOM 操作,提高代码的健壮性和可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
|
10月前
|
人工智能 算法 IDE
IDEA中通义灵码的使用技巧
大家好,我是 V 哥。在日常开发中,我常用通义灵码辅助编程,尤其在解释代码和生成单元测试方面表现优异。本文将详细介绍通义灵码的安装、使用方法及优化建议功能,帮助你提升开发效率。关注威哥爱编程,编码路上我们一起前行。
5270 7
|
缓存 前端开发 JavaScript
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
610 1
|
机器学习/深度学习 边缘计算 人工智能
ONNX 在边缘计算中的应用
【8月更文第27天】随着物联网 (IoT) 和边缘计算技术的不断发展,越来越多的智能设备被部署在远离数据中心的位置,以处理实时数据并做出即时决策。Open Neural Network Exchange (ONNX) 作为一种开放格式,允许在不同框架之间交换经过训练的机器学习模型,为边缘计算中的模型部署提供了重要的支持。本文将探讨 ONNX 如何简化边缘计算中复杂 AI 模型的部署,并讨论在此过程中可能遇到的挑战及解决方案。
507 0
|
前端开发 测试技术 数据安全/隐私保护
软件测试 —— 案例系统缺陷报告
软件测试 —— 案例系统缺陷报告
299 1
|
SQL Web App开发 安全
Discuz历史漏洞分析(一)
Discuz是非常受欢迎的论坛型CMS,但是近年来DZ也爆出了很多经典漏洞,以下分析了几个不同类型的DZ历史漏洞(SQL注入、XSS、任意文件删除、弱加密算法、任意代码执行、HTTP HOST攻击等),提高安全人员的安全意识。
Discuz历史漏洞分析(一)
|
Java 数据安全/隐私保护
hutool 笔记二 类型转换工具 Convert
hutool 笔记二 类型转换工具 Convert
6078 0
|
存储 Java 数据处理
响应式流的核心机制——背压机制
响应式流的核心机制——背压机制
402 1