org.apache.struts....

今天早上开始在MyEclipse下学习struts,于是按照李兴华老师的《struts入门视频教程》一步一步地充满快乐的学习,等把登陆程序写完,打开浏览器准备运行的时候,奇怪的异常产生了,异常显示500错误,如下:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.bean.CookieTei
大概意思就是加载struts里的.class类失败,于是满怀期望的到百度上去寻找,可以这样说,大多数错误都可以在百度上面找到答案。但是,这次例外了。网上的答案几乎都是删除WEB-INF下lib下的jsp-api.jar包或是拷贝struts.jar包到Tomcat的lib目录下,可是我下Eclipse创建的struts web工程,lib下面根本就没有任何jar包,即lib是空文件夹,一切的加载工作都是Eclipse自动加载的,视频教程里明显运行出结果?但是我的为什么不行呢?是我的程序写错了?
我到处问,包括软件群里,有好心人给我出各种注意,热心帮我,在此表示深深的感激,可怜的是任然没有得到解决。自学Java以来,第一次遇到网上找不到答案而自己又不知道问题所在的异常,颇受打击。
为了找到答案,我开始怀疑自己写的程序有问题,于是把原来的彻底删除,再重复一次struts工程,可结果依旧,我大概排除了程序的问题。
拷贝struts.jar包到Tomcat下的lib目录下,问题依旧。
很多人到此估计要怀疑自己Tomcat等的版本的问题,但是我不会,因为我的版本都是最新的,而且从经验来看,凡是怀疑软件有问题的人,都是因为他没有发现问题所在,才开始怀疑软件。自从我学Java以来,没有一个问题是软件造成的,都是程序或部署等出问题。
通过我的冷静思考,我做了一个大胆的测试,而恰恰就是这样一个测试,我把问题解决了,心里无比高兴,再次点燃了我的Java激情。
我不是拷贝struts.jar包,而是把D:\Program Files\Genuitec\MyEclipse for Spring 8.6\configuration\org.eclipse.osgi\bundles\12\1\.cp\data\1.2\lib目录下所有的jar包都拷贝到Tomcat的lib目录下,即Struts1.2的所有jar包,而不光是struts.jar,总共6个jar包,其中包括了struts.jar包,再次运行,成功了。我又把6个jar包剪切到web工程的WEB-INF/lib下,运行同样成功了。
我又喜又气,喜的是成功了,气的是我最喜欢的MyEclipse表面上部署了struts1.2的所有jar包(在struts 1.2 Library目录中虽然已经有了),却不把他们加载到WEB-INF/lib下,导致出现异常。实在搞不懂MyEclipse是怎么工作的,下面我在MyEclipse中建立的struts项目,里面明显加了struts1.2的支持,却还要我手动把包加到WEB-INF/lib下:
这个问题我整整搞了半天时间,感觉浪费了不少时间,在网上看到有些学员,说为了一个问题搞上几天才得以解决的,呵呵,那我还算幸运了。
Tags: 

延伸阅读

最新评论

发表评论