首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Servlet NullPointerException 定位:堆棧信息讀取與行號顯示配置

     編輯:程式設計綜合問答

異常堆棧關鍵行

at cn.itcast.Shopping.doGet(Shopping.java:45)

直接定位到 `Shopping.java` 第 45 行空指針。

常見原因

  1. Session 取值未判空:`session.getAttribute("user")` 返回 null 直接調用方法。
  2. Request 參數缺失:`request.getParameter("id")` 為 null 傳入 `Integer.parseInt`。
  3. 轉發/重定向路徑錯誤:導致目標 Servlet 未執行初始化邏輯。

調試建議

  • IDE 開啟行號顯示:Settings → Editor → General → Appearance → Show line numbers。
  • 斷點調試:在 45 行打斷點,觀察變量狀態。
  • 統一異常處理:配置 `` 或 `@ControllerAdvice` 捕獲 NPE 返回友好頁面。

代碼規範

// 反例
User u = (User) session.getAttribute("user");
System.out.println(u.getName()); // u 可能為 null

// 正例
User u = (User) session.getAttribute("user");
if (u == null) {
    response.sendRedirect("login.jsp");
    return;
}
System.out.println(u.getName());
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved