插入mysql数据库老是报500错误
尐技术 2010-02-20 01:48:29 type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /pages/addanswer2.jsp at line 23
20: pmt.setString(2,them);
21: pmt.setString(3,txt);
22: pmt.setString(4,time);
23: if(pmt.executeUpdate()>0)
24: {
25: response.sendRedirect("answer.jsp");
26: }
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
javax.servlet.ServletException: com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Duplicate entry 'one' for key 1
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.pages.addanswer2_jsp._jspService(addanswer2_jsp.java:93)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Duplicate entry 'one' for key 1
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1604)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1519)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1504)
org.apache.jsp.pages.addanswer2_jsp._jspService(addanswer2_jsp.java:77)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
addanswer2.jsp
<%@ page contentType="text/html;charset=GBK" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>增添留言信息</title>
</head>
<body>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&charsetEncoding=GBK";
Connection conn=DriverManager.getConnection(url,"root","1234");
request.setCharacterEncoding("GBK");
String userid=request.getParameter("user");
String them=request.getParameter("contxtThem");
String txt=request.getParameter("contxtcontent");
String time=request.getParameter("contxtTime");
them=new String(them.getBytes("iso8859-1"),"GBK");
PreparedStatement pmt=conn.prepareStatement("insert into userAnswer(userName,contxtThem,contxtcontent,contxtTime) values(?,?,?,?)");
pmt.setString(1,userid);
pmt.setString(2,them);
pmt.setString(3,txt);
pmt.setString(4,time);
if(pmt.executeUpdate()>0)
{
response.sendRedirect("answer.jsp");
}
conn.close();
%>
</body>
</html>