You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebSphere 9.0.x添加Shiro过滤器后为何出现FileNotFoundException日志?

问题原因分析
  • WebSphere默认静态资源处理逻辑:未集成Shiro时,WebSphere的Web容器会优先处理静态资源请求。当请求的静态资源不存在时,容器内部会直接返回404响应,不会将FileNotFoundException抛出到日志系统,所以看不到相关错误堆栈。

  • ShiroFilter的拦截优先级与资源查找行为:你配置的ShiroFilter(通常映射为/*)会先于WebSphere的静态资源处理器接收所有请求。Shiro在处理请求过程中,会通过ServletContext.getResource()或类似方法尝试定位资源,当资源不存在时,这个方法会抛出FileNotFoundException。而Shiro本身没有捕获并静默处理这个异常,而是将其传递给了WebSphere容器。

  • WebSphere的日志触发机制:WebSphere容器接收到这个未被上层过滤器处理的异常后,会按照默认日志策略将完整的异常堆栈输出到SystemOut.log中,这就是你看到的错误日志。如果你的ShiroFilter只拦截动态请求(比如*.jsp、*.do),而非所有请求,就不会触发这个问题。

内容的提问来源于stack exchange,提问作者Carson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:27:00