czmchen

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            17 隨筆 :: 0 文章 :: 24 評論 :: 0 Trackbacks
          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          我對異常拋出的情況作啦一個總結,下面的是我在做項目的時候,處理拋出來的經典異常。

          嚴重: 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.aygfsteel.com/Files/czmchen/ssh中Spring的庫文件.rar
          http://www.aygfsteel.com/Files/czmchen/spring-struts.jar.zip
          posted on 2009-06-13 20:20 陳周敏 閱讀(1556) 評論(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
          你解決了大家的好大問題,這個問題困惑我好長時間了呵呵。非常支持與感謝,寫的很好!!:)  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 新绛县| 灌南县| 平顺县| 赤水市| 江北区| 乡城县| 建昌县| 上思县| 乌恰县| 霍邱县| 临泉县| 乐业县| 宾阳县| 梓潼县| 兰考县| 惠州市| 遂溪县| 克山县| 枣强县| 通辽市| 措勤县| 望城县| 惠安县| 通化市| 砚山县| 即墨市| 澳门| 通州市| 特克斯县| 南郑县| 隆安县| 乳源| 平顶山市| 碌曲县| 阳泉市| 山东省| 松桃| 稷山县| 汪清县| 额尔古纳市| 融水|