posts - 4, comments - 0, trackbacks - 0, articles - 0

          2010年3月7日

          今天使用Struts2的時候遇到一個怪異的問題,首先在struts.xml中配置的action是沒有問題的,Java類也寫好了。但是運行的時候報 告如下錯誤:

              javax.servlet.ServletException: Unable to instantiate Action, cn.edu.cup.actions.JobManager,  defined for 'jobList' in namespace '/'null - action - file:/K:/Softwares/%E6%95%99%E5%AD%A6%E7%9B%B8%E5%85%B3

              經(jīng)過網(wǎng)上仔細(xì)搜索發(fā)現(xiàn),根本原因在于我在方法中使用了 Student s = (Student) session.getAttribute("user"); 其中session是在構(gòu)造函數(shù)中獲取的。但是,通過分析Struts的原理(參見http://t8500071.javaeye.com/blog /348057),由于Action先于ActionContext對象實例之前創(chuàng)建,所以session對象是null,因此,會報告空指針錯誤!

              明白了上述原理后,將獲取session的語句從構(gòu)造函數(shù)中刪除,放到方法中,程序終于正常了!

          posted @ 2010-10-16 11:19 希望的石頭 閱讀(3573) | 評論 (0)編輯 收藏

             從初步觀察的結(jié)果來看,Netbeans是綠色軟件,即不需要安裝的軟件。
             前天,系統(tǒng)重裝后,直接啟動NetBeans(上次安裝遺留的),正常,創(chuàng)建項目正常。只有JavaFx有些異常——不能正常執(zhí)行。后來,增設(shè)了幾個環(huán)境 變量就好了。
            增設(shè)的環(huán)境變量有:
          set JAVA_HOME=D:\Java\jdk1.6.0_18
          set JRE=d:\java\jre6
          set JAVAFX=E:\NetBeans 6.8\javafx2\javafx-sdk
          set classpath=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
          set path=%JAVA_HOME%\bin;%PATH%;%JRE%\bin;%JAVAFX%\bin;

          posted @ 2010-04-01 08:30 希望的石頭 閱讀(402) | 評論 (0)編輯 收藏

          用JSP開發(fā)的網(wǎng)站,一般超過一天不訪問的話,數(shù)據(jù)庫連接就會斷開。從網(wǎng)上查找的解決辦法如下: WNn?l{k  
          rtS]p %YT  
          如 果連接閑置8小時 (8小時內(nèi)沒有進(jìn)行數(shù)據(jù)庫操作), mysql就會自動斷開連接, 要重啟tomcat. <_ 2cV  
              不用hibernate 的話, connection url加參數(shù): autoReconnect=true S?ByJ$  
              用hibernate的話, 加如下屬性: .hcs)z  
                  <property name="connection.autoReconnect">true</property> >%J q]8  
                  <property name="connection.autoReconnectForPools">true</property> r 0; x  
                  <property name="connection.is-connection-validation-required">true</property>
          R2lq<1|!  
              要是還用c3p0連接池: }~QD|3vh  
                  <property name="hibernate.c3p0.acquire_increment">1</property> EV|1P/h  
                  <property name="hibernate.c3p0.idle_test_period">0</property> Lp#%~PGr~  
                  <property name="hibernate.c3p0.timeout">0</property> 88O +w  
                  <property name="hibernate.c3p0.validate">true</property>

          不過,經(jīng)過測試,沒有效果。正在努力思考中...
          經(jīng)過測試,增加 autoReconnect不管用,url中不認(rèn)識該關(guān)鍵字。有網(wǎng)上評論說對mySQL5.0以上該參數(shù)不靈。
          第二種:Hibernate的配置 也不好用。
          經(jīng)測試,第三種方式是可行的。不過,參數(shù)配置不同。具體配置如下:
              <property name="hibernate.c3p0.max_size">10</property>
              <property name="hibernate.c3p0.min_size">5</property>
              <property name="hibernate.c3p0.timeout">5</property>
              <property name="hibernate.c3p0.idle_test_period">5</property>
              <property name="hibernate.c3p0.max_statements">100</property>
              <property name="hibernate.c3p0.acquire_increment">1</property>

          為了具 體測試出效果,我將mySQL數(shù)據(jù)庫的wait-timeout設(shè)置為10.也就是說,只要10秒鐘不操作,數(shù)據(jù)連接就自動斷開。
          測試結(jié)果,網(wǎng)頁 在等待若干分鐘后,也能正常操作。

          posted @ 2010-03-20 15:50 希望的石頭 閱讀(1584) | 評論 (0)編輯 收藏

          昨天晚上在進(jìn)行JSP學(xué)習(xí)的時候,遇到一個很奇怪的問題:
          我在action中獲取了一個數(shù)組(List),希望通過request設(shè)置傳遞到JSP中,然后利用標(biāo)準(zhǔn)標(biāo)簽c:for 顯示。結(jié)果是編譯、運行都通過,但是就是沒有顯示任何內(nèi)容!
          經(jīng)過N次查找,最終發(fā)現(xiàn)原來少了一行:
          <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
          太氣人了!
          誰也不報告錯誤,就是不干活!
          切記!

          posted @ 2010-03-07 08:15 希望的石頭 閱讀(292) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 梅河口市| 杨浦区| 辛集市| 称多县| 东海县| 江门市| 偏关县| 洪泽县| 望都县| 裕民县| 仁怀市| 永顺县| 新巴尔虎左旗| 安龙县| 桦南县| 子洲县| 余姚市| 岚皋县| 隆子县| 封丘县| 民丰县| 江川县| 朝阳县| 将乐县| 海淀区| 石狮市| 盐源县| 滦南县| 泗洪县| 霍邱县| 临沂市| 宁德市| 新郑市| 万安县| 武义县| 麻阳| 隆子县| 治县。| 孟津县| 柏乡县| 开平市|