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.aygfsteel.com/Files/czmchen/ssh中Spring的庫文件.rar
          http://www.aygfsteel.com/Files/czmchen/spring-struts.jar.zip
          posted @ 2009-06-13 20:20 陳周敏 閱讀(1557) | 評論 (6)編輯 收藏

          本人就建立啦一個群,群號:18777357,歡迎在J2EE這一塊上發展和學習的加入
          posted @ 2009-06-12 19:06 陳周敏 閱讀(168) | 評論 (0)編輯 收藏

          最近我在做上傳下載,發現我的文件下載死活下載不了,看啦很久代碼。沒錯,代碼我敢肯定沒寫錯,再嘗試下載其他的文件看看,我就上傳一個文件沒帶中文的,一上上去,一點下載,居然訊雷可以下載啦。郁悶啦很久,原來是在這里,問題找到啦,肯定是不支持中文。翻回去看代碼那里沒加上編碼?再重新看啦一次代碼,還是發現不了,想啦一下,下載通過URL訪問,經過Tomcat提交,問題可能在Tomcat這。

          然后我就查啦一下網上的讓Tomcat支持中文的方法,我也找出問題所在。在TOMCAT那加一句話就行

          打開Tomcat目錄的conf\server.xml文件,用記事本或其他工具編輯,
          找到<Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443"/>
          注意:我的TOMCAT版本是6.0的!
          然后在它后面加上一句URIEncoding='UTF-8'
          也就是變為
          <Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443" URIEncoding='UTF-8'/>
          這樣就可以讓TOMCAT支持中文的傳遞!

          改好后,重起TOMCAT服務器,點下載,果然訊雷“噔”的一聲響,下載成功。

          可能一些初學者看到本文,就以后做項目都在URL那傳遞中文,這樣可以解決重定向亂碼問題。不過本人不支持這樣的做法,畢竟在URL都不好傳遞中文,因為這是不標準的寫法。下載或其他系統要用到中文傳遞獲取文件才可以用這笨方法
          posted @ 2009-06-10 15:08 陳周敏 閱讀(2523) | 評論 (4)編輯 收藏

          開發中用UTF-8開發就是標準的開發編碼,跨平臺下開發,你就發現你的程序亂碼問題基本沒有,這就少給你帶來麻煩。
          建立數據庫也不例外,我開發都習慣用編碼utf8來開發(注意:在數據庫中UTF-8就寫為utf8)

          建立數據庫開發編碼為utf8就幾個地方而已

          1。建立容器
          2。連接

          注意:有些人話你做啦這些工,還有一個地方要設置編碼,建立數據庫表時候還沒設置編碼呢?我在這說下,建立容器就不用做那啦,因為你容器編碼是utf8啦,表也是utf8,所以我就無做那個工啦!不過你想知道的話,我也提供方法,下面的就是表的編碼就是utf8的
          CREATE TABLE IF NOT EXISTS test(
              test_id int auto_increment,
              test_name varchar(50)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8;


          步驟:
          1。好啦,先來建立容器

          create database if not exists test default character set utf8;

          2。連接設置編碼為utf-8
          在連接的時候加上
          dao.drivername=com.mysql.jdbc.Driver
          dao.url=jdbc:mysql://localhost:3306/asking?useUnicode=true&characterEncoding=UTF-8
          dao.username=
          dao.passwd=

          posted @ 2009-06-10 14:47 陳周敏 閱讀(6544) | 評論 (2)編輯 收藏

          做為一個開發程序員,在數據庫方面最重要的就是數據庫的數據啦,那么在開發過程中就要對數據進行備份,以防止丟失。
          我就這樣做的~把MySQL 數據庫目錄放到其他的盤去,不放在默認的盤。

          我安裝的數據庫是Mysql5.1,安裝目錄可能和其他的版本不同。

          首先

          1 .打開 cmd 命令提示符窗口,輸入命令:net stop mysql 停止 MySQL 服務運行;

          2. 打開C:\Program Files\MySQL\MySQL Server 5.1\my.ini

          找到:

          Datadir = "C:\Documents and Settings\All Users\Application Data\MySQL\data"

          修改為:

          Datadir = "X:\MySQL\data" 這個是你自己想放的數據庫位置

          3. 將 C:\Documents and Settings\All Users\Application Data\MySQL\data 文件夾復制到 X:\

          4. 打開 cmd 命令提示符窗口,輸入命令:net start MySQL 啟動 MySQL 服務。

          5.重新測試 MySQL 是否工作正常。

          posted @ 2009-06-10 14:31 陳周敏 閱讀(1099) | 評論 (0)編輯 收藏

          不知道大家在編程的時候,你鼠標一放到代碼上面,那MyEclipse就顯示一個黃色的提示,
          而且MyEclipse編輯區的ToolTip顯示太快了,太讓我感到煩惱啦!我想取消這個ToolTip.

          這個就只能在JAVA類文件里面有效!點擊windows-->preference-->java-->Editor-->Hovers
          找到Combined Hover,鉤去掉就OK。

          在XML那還沒搞定!不知道有沒有高手研究到連XML配置文件都可以去掉這個ToolTip提示的?

          posted @ 2009-06-10 14:20 陳周敏 閱讀(1312) | 評論 (0)編輯 收藏

          僅列出標題
          共2頁: 上一頁 1 2 
          主站蜘蛛池模板: 安西县| 临漳县| 永福县| 咸阳市| 满洲里市| 环江| 临泉县| 汨罗市| 永登县| 彭阳县| 吉林省| 云和县| 新兴县| 壤塘县| 信阳市| 娄底市| 湖口县| 徐水县| 英吉沙县| 铜鼓县| 凤台县| 厦门市| 漯河市| 阿尔山市| 房产| 璧山县| 原平市| 蓝田县| 亳州市| 西吉县| 华宁县| 固阳县| 柳江县| 蒙城县| 杂多县| 河西区| 大宁县| 泰和县| 高唐县| 长垣县| 太湖县|