1. 程式人生 > >java異常java.lang.reflect.InvocationTargetException 並且同時帶有空指針異常

java異常java.lang.reflect.InvocationTargetException 並且同時帶有空指針異常

getpara ack lang param pad == name 空指針 獲取

java.lang.reflect.InvocationTargetException 並且同時帶有空指針異常,

該錯誤來源於,實現用戶自動登錄功能時:登錄界面,當輸入用戶名和密碼後,沒有勾選自動登錄按鈕,結果在UserServlet中實現方法時,只要有getParameter(“autologin”);就報錯,

分析:用過濾器實現對getParameter方法包裝設計增強時,沒有加入空指針異常判斷。所以在servlet方法中使用自定義的getParameter時,當用戶沒有勾選自動登錄按鈕,獲取到的是空。所以會報此錯誤。

解決:在對getparameter方法包裝設計進行功能增強時,加入對獲取的參數進行空指針判斷。或者把異常拋掉一個大異常catch(Exception e){}

class MyRequest extends HttpServletRequestWrapper {

public MyRequest(HttpServletRequest request) {

super(request);

}

@Override

public String getParameter(String name) {

String word = super.getParameter(name);

try {

if (word == null) {

return

null;

}

word = new String(word.getBytes("ISO-8859-1"), "UTF-8");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

return word;

}}

異常代碼截圖:

技術分享

java異常java.lang.reflect.InvocationTargetException 並且同時帶有空指針異常