Java和JSP編程應注意的六個常見問題

來源:互聯網
上載者:User

  1.對應String類型的對象使用println()方法時,如果對象為null,將列印null而不是引發NullPointerException,由此引用的問題是容易造成錯覺,對於以後對字串的操作容易引起問題。

  2.引發NullPointerException異常,主要原因是沒有對對象的存在性進行驗證,在jsp編程中經常出現:if (request.getParameter(“username”).equals(“xxx”))、out.println(session.getAttribute(“record”))等。解決這個問題的方法是在使用前進行判空比較:

  if (request.getParameter(“username”)!=null)
  {if if (request.getParameter(“username”).
  equals(“xxx”))…}

  3.引發NumberFormatException異常:主要原因是將使用者提交的內容轉換為整數或者浮點數時使用者輸入了其它非法字元。處理的主要方式是在需要進行轉換的地方使用try/catch塊捕獲此異常然後提示使用者輸入合法資料。

  4.引發StringIndexOutOfBoundsException異常:主要原因是使用String的substring()、charAt()等方法,而字串的長度不夠,就會引發此異常;在字串為null時也會引發NullPointerException。解決的方法是判空,判斷長度或者轉換為位元組數組。考慮到這些操作很多,可以將之封裝到javabean中。

  5.引發NoClassDefFoundError錯誤,主要原因是類路徑或者類檔案放置錯誤,類檔案的放置要符合伺服器的要求。

  6.引發java.lang.Error錯誤,主要原因是對系統所訪問外部資源,未執行關閉操作,導致外部資源大量浪費,最終可能導致系統無法正常運行;對系統所訪問的外部資源關閉次數太多,外部系統無法正常處理;所系統訪問的外部資源出現異常情況。

  解決的方法是:訪問外部資源前,首先檢查該資源(如資料庫)是否可正常串連或操作;訪問外部資源時,如果進行了串連,一定進行關閉操作,並僅進行一次關閉操作;盡量在同一操作中共用外部資源,以減少該操作對資源的消費,提高程式的執行效率。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.