thinking

          one platform thousands thinking

          Eclipse+Tomcat調(diào)試時(shí)的一些錯(cuò)誤筆記

          Eclipse+Tomcat調(diào)試時(shí)的一些錯(cuò)誤筆記

          No.1:

          今天在測(cè)試Eclipse+Tomcat寫的應(yīng)用程序的時(shí)候出現(xiàn)了這樣警告:


          2008-10-11 21:33:55 org.apache.tomcat.util.digester.SetPropertiesRule begin

          警告 : [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:TestTomcat6.0.16' did not find a matching property.

          2008-10-11 21:33:55 org.apache.catalina.core.AprLifecycleListener init

          信息 : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:"study tools"Java"jdk1.5.0_06"bin;.;C:"WINDOWS"system32;C:"WINDOWS;D:/study tools/Java/jdk1.5.0_06/bin/../jre/bin/client;D:/study tools/Java/jdk1.5.0_06/bin/../jre/bin;D:"study tools"Borland"Delphi7"Bin;D:"study tools"Borland"Delphi7"Projects"Bpl";D:"study tools"Java"jdk1.5.0_06"bin;C:"WINDOWS"system32;C:"WINDOWS;C:"WINDOWS"System32"Wbem;D:"study tools"MySQL"MySQL Server 5.0"bin;C:"Program Files"Microsoft SQL Server"80"Tools"BINN


          出現(xiàn)SetPropertiesRule 警告的原因是因?yàn)門omcat 在server.xml 的Context 節(jié)點(diǎn)中不支持source 屬性: <Context docBase="…" path="/…" source="org.eclipse.jst.j2ee.server:…"/>

          解決方法是在Servers 視圖里雙擊創(chuàng)建的server ,然后在其server 的配置界面中選中"Publish module contexts to separate XML files" 選項(xiàng)。如下圖:

          不過,不知道這樣做的具體意義是什么,因?yàn)榧词钩霈F(xiàn)這個(gè)Warning,程序也正常執(zhí)行。



          NO2:


          還有一個(gè)錯(cuò)誤信息是:

          信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: 


          這個(gè)具體信息參考:Apache Tomcat Native library

          解決方法是:http://tomcat.heanet.ie/native/ 下載你需要的版本的tcnative-1.dll放入System32下面或者放在Tomcat 的bin目錄下即可。

          NO3:

          這個(gè)跟Mysql有關(guān),就是在插入Date類型數(shù)據(jù)時(shí)候,Java改如何寫插入語(yǔ)句:

          Java代碼
          1. Date newDate = java.sql.Date.valueOf(time);  
          2. rs.moveToInsertRow();  
          3. rs.updateDate(5, newDate);  
          4. rs.insertRow();  

          NO4,:

          今天用javamail做了一個(gè)發(fā)送郵件的功能.遇到了一系列的問題.

          1:在本地(windows環(huán)境)測(cè)試一切正常,上傳到服務(wù)器(Linux環(huán)境)就出了問題.[java.lang.SecurityException: Access to default session denied ],也就是獲得默認(rèn)的session時(shí)無(wú)法獲得.郁悶了N久,在網(wǎng)上搜了下,有朋友遇到同樣的問題,但都沒人給予解決方案,我在csdn,javaeye發(fā)帖也沒人回.后來(lái)在又看了一朋友的blog,他寫的解決辦法是, 把 mailSession = Session.getDefaultInstance(props,sa);改成mailSession = Session.getInstance(props,sa); 就是新創(chuàng)建一個(gè)session,我試了下,可以解決問題.但還是找到為什么不能獲取默認(rèn)session的原因.而且擔(dān)心這樣沒次都Session.getInstance(props,sa);會(huì)不會(huì)出問題.

          2.發(fā)送email內(nèi)容為html時(shí),出現(xiàn)亂碼.同樣是在本地測(cè)試正常,傳到服務(wù)器上就出問題.后來(lái)經(jīng)過測(cè)試,發(fā)現(xiàn)是服務(wù)器默認(rèn)編碼的問題,服務(wù)器 的默認(rèn)編碼UTF-8,我的email內(nèi)容是本地一html文件,在讀取文件內(nèi)容時(shí)沒有設(shè)置編碼,所以讀取出來(lái)的就已經(jīng)是亂碼了,.后來(lái)該成 FileInputStream fis = new FileInputStream(filename);BufferedReader in = new BufferedReader(new InputStreamReader(fis,"GBK"));就OK了. InputStreamReader不指定編碼方式的話將采用底層操作系統(tǒng)的默認(rèn)編碼方式,所以這里要在構(gòu)造器重指定編碼的方式.

          3.static變量的問題.         我定義了一個(gè)靜態(tài)類變量public static boolean isRunning = false;來(lái)判斷狀態(tài),剛開始一切正常,但是在一次出了異常之后.就無(wú)法執(zhí)行了,有讓我郁悶了好大一會(huì).后來(lái)才發(fā)現(xiàn).是static的原因.( static變量屬于類變量,在這個(gè)類的所有 new出來(lái)的對(duì)象中只存在一個(gè)該變量,每個(gè)對(duì)象是對(duì)同一變量進(jìn)行操作,static的變量和初始化塊僅僅運(yùn)行一次。不象沒有static的變量,每次new的時(shí)候,都會(huì)重新初始化 。)因?yàn)閟tatic變量只初始化一次,之后使用的值都是之前的狀態(tài)值.所以我的問題就出在當(dāng)運(yùn)行正常時(shí),運(yùn)行時(shí)會(huì)把狀態(tài)改為true,結(jié)束后會(huì)把狀態(tài)改為false.但是出現(xiàn)異常時(shí),后面就沒把狀態(tài)改成false.所以下次執(zhí)行時(shí)就無(wú)法往下執(zhí)行了. from:http://hi.baidu.com/xublog/blog/item/7f7d5bfc8f356381b901a0e7.html

          posted on 2009-03-31 14:47 lau 閱讀(1043) 評(píng)論(2)  編輯  收藏 所屬分類: Eclipse

          Feedback

          # re: Eclipse+Tomcat調(diào)試時(shí)的一些錯(cuò)誤筆記[未登錄] 2009-09-30 13:13 111

          下面代碼是Jmail中源碼,解釋了為什么報(bào)錯(cuò)
          if(defaultSession.authenticator != authenticator1 && (defaultSession.authenticator == null || authenticator1 == null || defaultSession.authenticator.getClass().getClassLoader() != authenticator1.getClass().getClassLoader()))
          throw new SecurityException("Access to default session denied");  回復(fù)  更多評(píng)論   

          # re: Eclipse+Tomcat調(diào)試時(shí)的一些錯(cuò)誤筆記[未登錄] 2009-09-30 13:17 111

          Java應(yīng)用服務(wù)器的編碼方式是啟動(dòng)JVM時(shí),JVM參數(shù)-Dfile.encoding指定的,建議你使用這個(gè)來(lái)改變應(yīng)用的默認(rèn)編碼方式,這樣代碼更整潔點(diǎn)
          nohup java -Xms128m -Xmx256m -Dfile.encoding=GB2312 -cp $CLASSPATH   回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 嵩明县| 商水县| 喜德县| 颍上县| 汨罗市| 新沂市| 景宁| 渭南市| 龙岩市| 于都县| 招远市| 凌云县| 金乡县| 卫辉市| 车险| 宜川县| 池州市| 乌什县| 蓝山县| 繁昌县| 二手房| 栖霞市| 砚山县| 怀宁县| 平武县| 南宫市| 宝山区| 丰顺县| 大姚县| 娱乐| 赤城县| 繁昌县| 齐河县| 郧西县| 福州市| 海宁市| 德兴市| 浮山县| 布尔津县| 察雅县| 清新县|