[JSP ] 关于servlet Exception问题

楼主: noapaov (单身汉)   2015-05-10 11:43:45
请问一下一个问题,
这么功能主要是传订单资讯到servlet, 我这边有判断p_id(订单如果为0)则显示参数错误
但我发现如果我的URL为 : http://localhost:8080/testDemo/servlet
也就士都不带任何参数, 这时候在使用p_id.length()就会发生异常,
也就是我的code会停在呼叫pid_length的那一行, 但我这时候也捕捉不到错误
(catch也没印出错误) ~ 麻烦各位 谢谢
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
String pid = request.getParameter("p_id");
String uid = request.getParameter("uid");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("</head>");
out.println("<body>");
if(pid.length() != 0) {
out.println("<div>订单资讯 pid : " + pid + " uid : "+ uid + " length : " + pid.length() +"</div>");
} else {
out.println("测试");
}
out.println("</body>");
out.println("</html>");
} catch (Exception e) {
response.getWriter().write(e.getMessage());
StackTraceElement[] trace = e.getStackTrace();
for(int i = 0 ; i < trace.length ; i++){
response.getWriter().write(trace[i].toString());
response.getWriter().write("<br/>");
}
}
}
作者: pttworld (批踢踢世界)   2015-05-10 11:54:00
keyworld:GET/POST getParameter usage
楼主: noapaov (单身汉)   2015-05-10 13:17:00
主要是String obj = null的关系, 但也没有跳HTTP 500但是 exception 有抓到错误, 只是getMessage 是 null
作者: ssccg (23)   2015-05-10 14:10:00
都知道原因是NPE,那抓完参数先检查啊...
作者: pttworld (批踢踢世界)   2015-05-10 14:23:00
嗯,追问为什么会是null我会持续追问,如你能回答到最后请再回头看我第一则推文。
作者: JustinHere (良葛格)   2015-05-10 14:38:00
作者: pttworld (批踢踢世界)   2015-05-10 14:40:00
有神快拜!哈哈,赶流行。
作者: yryangs (ヒカル)   2015-05-11 13:50:00
良葛格!!!

Links booklink

Contact Us: admin [ a t ] ucptt.com