新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 學(xué)習(xí)方法與實(shí)踐 > Java和JSP編程應(yīng)該注意的六個(gè)常見(jiàn)問(wèn)題

Java和JSP編程應(yīng)該注意的六個(gè)常見(jiàn)問(wèn)題

作者: 時(shí)間:2008-02-04 來(lái)源: 收藏

         1.對(duì)應(yīng)String類(lèi)型的對(duì)象使用println()方法時(shí),如果對(duì)象為null,將打印null而不是引發(fā)NullPointerException,由此引用的問(wèn)題是容易造成錯(cuò)覺(jué),對(duì)于以后對(duì)字符串的操作容易引起問(wèn)題。

  2.引發(fā)NullPointerException異常,主要原因是沒(méi)有對(duì)對(duì)象的存在性進(jìn)行驗(yàn)證,在jsp編程中經(jīng)常出現(xiàn):if (request.getParameter(“username”).equals(“xxx”))、out.println(session.getAttribute(“record”))等。解決這個(gè)問(wèn)題的方法是在使用前進(jìn)行判空比較:  

if (request.getParameter(“username”)!=null)
  {if if (request.getParameter(“username”).
  equals(“xxx”))…}
  3.引發(fā)NumberFormatException異常:主要原因是將用戶提交的內(nèi)容轉(zhuǎn)換為整數(shù)或者浮點(diǎn)數(shù)時(shí)用戶輸入了其它非法字符。處理的主要方式是在需要進(jìn)行轉(zhuǎn)換的地方使用try/catch塊捕獲此異常然后提示用戶輸入合法數(shù)據(jù)。

本文引用地址:http://www.butianyuan.cn/article/78695.htm

  4.引發(fā)StringIndexOutOfBoundsException異常:主要原因是使用String的substring()、charAt()等方法,而字符串的長(zhǎng)度不夠,就會(huì)引發(fā)此異常;在字符串為null時(shí)也會(huì)引發(fā)NullPointerException。解決的方法是判空,判斷長(zhǎng)度或者轉(zhuǎn)換為字節(jié)數(shù)組。考慮到這些操作很多,可以將之封裝到j(luò)avabean中。

  5.引發(fā)NoClassDefFoundError錯(cuò)誤,主要原因是類(lèi)路徑或者類(lèi)文件放置錯(cuò)誤,類(lèi)文件的放置要符合服務(wù)器的要求。

  6.引發(fā)java.lang.Error錯(cuò)誤,主要原因是對(duì)系統(tǒng)所訪問(wèn)外部資源,未執(zhí)行關(guān)閉操作,導(dǎo)致外部資源大量浪費(fèi),最終可能導(dǎo)致系統(tǒng)無(wú)法正常運(yùn)行;對(duì)系統(tǒng)所訪問(wèn)的外部資源關(guān)閉次數(shù)太多,外部系統(tǒng)無(wú)法正常處理;所系統(tǒng)訪問(wèn)的外部資源出現(xiàn)異常情況。

  解決的方法是:訪問(wèn)外部資源前,首先檢查該資源(如數(shù)據(jù)庫(kù))是否可正常連接或操作;訪問(wèn)外部資源時(shí),如果進(jìn)行了連接,一定進(jìn)行關(guān)閉操作,并僅進(jìn)行一次關(guān)閉操作;盡量在同一操作中共享外部資源,以減少該操作對(duì)資源的消費(fèi),提高程序的執(zhí)行效率。



關(guān)鍵詞: Java JSP 編程

評(píng)論


技術(shù)專區(qū)

關(guān)閉