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文件的方式。
File "/struts-tags" not found的更多相关文章
- The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter.
		The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the assoc ... 
- struts tags
		HTTP ERROR 500 Problem accessing /showognl.jsp. Reason: Server Error Caused by: org.apache.jasper.Ja ... 
- This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has p
		2014-09-16 15:47:51.590:WARN:oejs.ErrorPageErrorHandler:EXCEPTION org.apache.jasper.JasperException: ... 
- The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. 异常
		异常信息如下: The Struts dispatcher cannot be found. This is usually caused by using Struts tags without t ... 
- Invalid tld file: "/WEB-INF/tags/xxxt.tld", see JSP 2.2 specification section 7.3.1 for more details
		错误描述 在jsp页面引入了自定义的TLD文件的时候,碰到了一个错误 Invalid tld file: "/WEB-INF/tags/xxxt.tld", see JSP 2.2 ... 
- 配置struts tags 输出HTML
		<s:property escape="false" value="vaMsg"/> escape="false"则vaMsg内 ... 
- Struts tags--Data tags
		struts tags详解之<s:bean> Description Bean标签,当然需要一个JavaBean.它的属性值的操作是经由Bean标签中的参数属性来进行赋值.当然 ... 
- Struts 2 Learning
		目录 . J2EE简介 . JAVA EE应用的分层模型 . 搭建Struts2 Demo应用 . struts2流程 . struts2的常规配置 . 实现Action . 配置Action . 配 ... 
- Struts 2.x Unable to load configuration. - action
		问题分析:遇到该问题一般是struts中某个配置文件没有正确配置,比如: 1.class中的TestAction没有成功加载: <constant name="struts.i18n. ... 
- struts体系结构
		问题: 为什么 invoke()方法,一旦执行,表示action方法执行完毕,jsp页面已经处理完毕: 其返回值再修改无意义,不影响结果?? 解释: 着重看如下颜色的字: ■ ■ 官方文档有明确的 ... 
随机推荐
- C#winform在textbox插入内容换行
			要让一个TextBox显示多行文本就得把它的Multiline属性设置为true,可是如果你是要把TextBox的Text属性设置多行文本时可能会遇到点麻烦,也许你会想到直接加一个换行符"\ ... 
- 在Entity Framework 中执行T-sql语句
			从Entity Framework 4开始在ObjectContext对象上提供了2个方法可以直接执行SQL语句:ExecuteStoreQuery<T> 和 ExecuteStoreC ... 
- sqoop的eval工具
			eval的作用:Evaluate a SQL statement and display the results,也就是说eval像是一个数据库的客户端工具. 一.使用eval来查询表 $ sqoop ... 
- Windos中无法删除桌面IE图标的解决方法
			解决方法其实并不难,打开注册表,转到如下图的位置,详细地址在图片最下面: 需要注意的是,你需要在NameSpace中逐个查看各个项目的数据值,显示为数据值为Internet Explorer的项目即为 ... 
- C# 标准查询表达式
			一.标准查询运算符 1.C#提供了标准查询运算符,例如我想选择专利一系列(pantents)中以年份19开头的专利,可以用如下语句: IEnumerable<Patent> pantent ... 
- Python核心编程--学习笔记--4--Python对象
			现在开始学习Python语言的核心部分.首先了解什么是Python对象,然后讨论最常用的内建类型,接下来讨论标准类型运算符和内建函数,之后给出对标准类型的不同分类方式,最后提一提Python目前还不支 ... 
- Cron表达式说明
			CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表. CronT ... 
- Ubuntu下编译内核
			一.下载源代码和编译软件的准备 下载内核源代码:http://www.kernel.org/ 注意,点击2.6.25内核的F版,即完整版. 如果你懒得去网站点联接,运行下列命令: 代码: $cd ~ ... 
- android开发系列之由ContentValues看到的
			这本篇博客里面我想重点来分析一下ContentValues的源码以及它里面涉及到的继承接口Parcelabel,还有HashMap的源码. 相信使用过android里面数据库操作的朋友对于Conten ... 
- golang初试:坑爷的
			用Golang与perl脚本比较, 初想至多差一倍吧...结果可不是一般的坑爹, 简直就是坑爷了. Perl脚本 #!/bin/bash source /etc/profile; function e ... 
