为什么使用preparedStatement就使用异常

来源:百度知道 编辑:UC知道 时间:2024/06/30 06:16:53
exception

javax.servlet.ServletException: ??????
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
org.apache.jsp.usersLogin_005fdo_jsp._jspService(usersLogin_005fdo_jsp.java:54)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

root cause

java.lang.Exception: ??????
dzzw.hpj.dao.impl.UsersDaoImpl.delete(UsersDaoImpl.java:140)
org.apache.jsp.usersLogin_005fdo_jsp._jspService(usersLogin_005fdo_jsp.java:47)

这个会不会是你传入了中文产生了乱码啊,(注意下那几个问号?????)你自己仔细检查下看看。
会不会调度啊,google找下。我想这个一下子就出来了。

给出的代码有点少

你的delete 方法抛出了异常,但是在jsp页面没有catch。加个try试试。

问题不出现在preparedStatement这里,而是出在你传入的参数问题。建议你将传入参数打印一下,你就可以看出来,至于乱码问题,我想上网搜到的肯定比我说的要详细。谢谢

可以在catch中打印以下异常的具体信息

catch (Exception e)
{
e.printStackTrace();
throw new Exception("删除出现异常");
}

看一下控制台的异常信息,处理起来会有头绪

我觉得可能是 填入参数类型问题. WHERE countId=? countid是整型吧

pstmt.setInt(1,Integer.praseInt(countId));

如果不是,看看部署的应用下面 usersLogin_005fdo_jsp._jspService
这个文件的抛错行数,看看是哪句代码的错误.