jsp 链接MySQL数据库使用excuteUpdate()方法出错

代码:

<%//@page import="com.mysql.jdbc.PreparedStatement"%>
<%@page import="java.sql.*"%>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<%
    String name = request.getParameter("name");
    String pwd = request.getParameter("pwd");


    //加载驱动
    Class.forName("com.mysql.jdbc.Driver");
    //建立桥连接
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/tt","root","root");
    
    String sql = "insert into user(username,password) value(?,?)";
    PreparedStatement ps=con.prepareStatement(sql);
    ps.setString(1,name);
    ps.setString(2,pwd);
    ps.executeUpdate();//出错
    con.close();
    response.sendRedirect("rp_success.jsp");
 %>

 

HTTP Status 500 - An exception occurred processing JSP page /doregister.jsp at line 21

type Exception report

message An exception occurred processing JSP page /doregister.jsp at line 21

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 /doregister.jsp at line 21

18: 	PreparedStatement ps=con.prepareStatement(sql);
19: 	ps.setString(1,name);
20: 	ps.setString(2,pwd);
21: 	ps.executeUpdate();
22: 	con.close();
23: 	response.sendRedirect("rp_success.jsp");
24:  %>


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:579)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:461)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause

javax.servlet.ServletException: com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column 'username' cannot be null
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:909)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:838)
	org.apache.jsp.doregister_jsp._jspService(doregister_jsp.java:152)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause

com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column 'username' cannot be null
	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.doregister_jsp._jspService(doregister_jsp.java:135)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

note The full stack trace of the root cause is available in the Apache Tomcat/8.0.52 logs.

Apache Tomcat/8.0.52

 

 

你user表中不存在username字段。

Column 'username' cannot be null

你检查一下表字段名是不是写错了。

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632