サーブレットdebugjspのServlet.service()が例外をスローしました



Servlet Service Servlet Debugjsp Threw Exception



StandardWrapperValve [debugjsp]:サーブレットdebugjspのServlet.service()が例外をスローしました

java.lang.NullPointerException



org.apache.jsp.zhongyibu.wjhb_005fnr_jsp._jspService(wjhb_005fnr_jsp.java:113)で
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)で
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)で
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)で
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)で

上記はnullポインタ例外が発生したと述べましたが、コード



int id try { id = Integer.parseInt(request.getParameter('id')) } catch (NumberFormatException e) { id = 0 }


私はこれをここでキャプチャしました。問題は上記のコードによるものではありません。
重要なのは、idパラメータの値がデータベースの対応するID値に実際に存在するということですか?
CD CD=dao.findCD(id)
後の場合

int id try { id = Integer.parseInt(request.getParameter('id')) } catch (NumberFormatException e) { id = 0 }

その後、変数idの値は0()になり、データベースにIDがない場合は、0または他の対応する値になります。
CD CD=dao.findCD(id)
結果のCD変数はnullを指しますが、これはCDオブジェクトではありません。
CDがnullの場合、当然NullPointerExceptionが発生します。

考えられる理由:
idパラメーターが正しい値を取得しなかったため、dao.findCD(id)がnullを返しました。
CD.getCDIDを使用する場合は、最初に次のようにCDが空かどうかを確認する必要があります。

|_+_|