czmchen

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  17 随笔 :: 0 文章 :: 24 评论 :: 0 Trackbacks
我对异常抛出的情况作啦一个总结,下面的是我在做项目的时候,处理抛出来的经典异常。

严重: action: null
java.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugIn
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
        at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:124)
        at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:172)
        at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:147)
        at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:842)
        at org.apache.struts.action.ActionServlet.init(ActionServlet.java:359)
        at javax.servlet.GenericServlet.init(GenericServlet.java:212)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1231)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1471)
        at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:824)
        at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:350)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
2009-6-13 19:47:25 org.apache.catalina.core.ApplicationContext log


这个异常我看不少人都遇到吧,看着这个异常,你觉得是不是很郁闷,刚开始看到这个action: null就想:“是Struts里出啦问题,肯定是参数不对应ActionForm造成的吧!”然后就拼命地在页面和ActionForm来作对照,对来对去都是一样啊!怎么还是有错呢?刚刚开始我也是这样想的,可是做啦一大堆的无用功后,就发现我这种想法是错的!每次部署后还是这个错,你再细心地看下面的那个错误“java.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugIn”,这个org.springframework.web.struts.ContextLoaderPlugIn这个东西是不是很熟悉呢?仔细找下看,发现你的Struts-config.xml里面是不是也有这样一段话:
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
        <set-property property="contextConfigLocation"
   value="/WEB-INF/applicationContext.xml"/>
    </plug-in>
问题就出在这里啦!不过有些人找到问题所在后,也不会认为这里有问题,就算这里有问题,最多就是Spring的配置文件不对应!然后就去修改一下配置文件,可是还是于是无补!

我经过一段时间的思考后,就想啦一下,这个既然是Spring的配置文件,那一定和它的插件有关,是不是Spring和Struts整合不好呢?然后就查了一下库文件,发现Spring库文件导入的是很少!上网查下资料,发现对于这个问题的很少有答案,有人提出的可是找不到问题所在!我就去啦Spring的官网下载它的库文件和一些相应的资料来,在找资料的过程中,我也下载啦一个叫spring-struts.jar的库文件,这个文件看起来好象是Spring整合Struts的库文件!有啦这几个东西,我就开始开工测试
我就先按我的猜想,先导入spring-struts.jar这文件,部署后,发现没错误,运行也没错!果然证实我的想法没错
然后我还把下载来的Spring官网的最新的库文件,发现找不到spring-struts.jar这个库文件。然后我一个个测试后,原来这个库文件是集成在spring-web.jar里面啦!
我把spring-struts.jar去掉后,导入Spring官方的最新的相关库文件后(不能全部导,全部导入也会有错误,用到的才能导!),程序也没发生任何错误

以下的是我用到的库文件,本人测试过没问题
http://www.blogjava.net/Files/czmchen/ssh中Spring的库文件.rar
http://www.blogjava.net/Files/czmchen/spring-struts.jar.zip
posted on 2009-06-13 20:20 陈周敏 阅读(1538) 评论(6)  编辑  收藏 所属分类: ssh

评论

# re: ssh经典异常! 2009-06-13 21:05
弱  回复  更多评论
  

# re: ssh经典异常![未登录] 2009-06-13 22:03 wavesun
还没用到,所以没遇到,O(∩_∩)O哈哈~,标记一下,遇到再来!!!  回复  更多评论
  

# re: ssh经典异常! 2009-06-13 22:39 字幕
不错  回复  更多评论
  

# re: ssh经典异常! 2009-06-14 01:39 水蛭
好像很麻烦呀。要是处理好参数好像爱那个不用这么麻烦吧  回复  更多评论
  

# re: ssh经典异常! 2009-06-15 23:23 水桶
没有加载spring 的配置文件,我遇到过这种问题是分析原因如下:
是程序在跑的时候没有经过struts,所有也就不会通过以下代码:
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml"/>
</plug-in>
加载spring的application.xml的配置文件。

可以在程序的web.xml文件直接配置直接读取spring的配置文件。  回复  更多评论
  

# re: ssh经典异常! 2009-06-18 09:23 AmbitionLi
你解决了大家的好大问题,这个问题困惑我好长时间了呵呵。非常支持与感谢,写的很好!!:)  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: