作者noapaov (单身汉)
看板java
标题[JSP ] 关於servlet Exception问题
时间Sun May 10 11:43:45 2015
请问一下一个问题,
这麽功能主要是传订单资讯到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/>");
}
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.34.181.227
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1431229428.A.B3D.html
1F:推 pttworld: keyworld:GET/POST getParameter usage 05/10 11:54
2F:→ noapaov: 主要是String obj = null的关系, 但也没有跳HTTP 500 05/10 13:17
3F:→ noapaov: 但是 exception 有抓到错误, 只是getMessage 是 null 05/10 13:18
※ 编辑: noapaov (114.34.181.227), 05/10/2015 13:18:50
4F:→ ssccg: 都知道原因是NPE,那抓完参数先检查啊... 05/10 14:10
5F:推 pttworld: 嗯,追问为什麽会是null 05/10 14:23
6F:推 pttworld: 我会持续追问,如你能回答到最後请再回头看我第一则推 05/10 14:24
7F:→ pttworld: 文。 05/10 14:24
9F:推 pttworld: 有神快拜!哈哈,赶流行。 05/10 14:40
10F:推 yryangs: 良葛格!!! 05/11 13:50