File "/struts-tags" not found

前言

由于在某个jsp引用了struts标签库,导致该错误产生--这是stuts项目算是一道经典错误,往往最后的解决方式是更换Tomcat。今天我记录的是引起这一错误的一个非常隐藏的原因。

错误描述

JSP

启动发生错误

原因

换了Tomcat可以很好的解决此问题,但令人不解的是为何如此?笔者经过对比,发现了原因:

由于某项目启动发生StackOverflowError  异常(具体参见此文章),修改Tomcat的catalina.properties文件可避免此异常,修改之处如下

而这处修改虽然能够很好的解决StackOverflowError  异常,但这是会造成本文所说的File "/struts-tags" not found 异常。所以解决方式就是:1.这里catalina.properties文件恢复默认配置(但这样一来就是某项目也无法启动)。2.页面不引用标签库。

至于其中原因笔者本想通过调试一探究竟,然而现在还不知如何调试Tomcat的源码包。按StackOverflowError 文章中所叙述的大概是因为Tomcat在启动时会扫描所以jar,而加上 ,* 就不会递归扫描了。。。

顺便说一下,不仅是struts,JSTL也会这样。

后记

以后有机会一定把此问题和StackOverflowError 问题一起研究,弄清楚Tomcat的启动扫包问题。此外,当遇到StackOverflowError异常后,争取换其他方式而不是更改catalina.properties文件的方式。

 

posted @ 2016-03-12 21:08  Tom1997  阅读(693)  评论(0编辑  收藏  举报