问题遇到的现象和发生背景
mysql-connector-java-8.0.26.jar
idea 2020.3
navicat 15
mysql8.0.27
Tomcat 8.5.64
问题相关代码,请勿粘贴截图
JDBCConnection
package lemon.controller;
import java.sql.Connection;
import java.sql.DriverManager;
public class JDBCConnection {
public Connection getCon(){
Connection connection = null;
try{
connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/stu?useSSL=false&serverTimezone=UTC","root","123456");
}catch (Exception e){
e.printStackTrace();
}
return connection;
}
}
JDBCDriver
package lemon.controller;
public class JDBCDriver {
static {
try{
Class.forName("com.mysql.cj.jdbc.Driver");
}catch (Exception e){
e.printStackTrace();
}
}
}
用户注册
package lemon.servlet;
import lemon.controller.JDBCConnection;
import lemon.controller.JDBCDriver;
import lemon.model.OusersModel;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
//普通用户注册界面
@WebServlet("/OuAddServlet")
public class OuAddServlet extends HttpServlet {
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ResultSet rs = null;
ArrayList<OusersModel> ousers = new ArrayList<>();
JDBCDriver driver = new JDBCDriver();
JDBCConnection connection = new JDBCConnection();
Connection con = connection.getCon();
req.setCharacterEncoding("utf-8");
try {
//到了statement这一行就显示空指针异常,能搜的都搜了,实在不知道怎么解决
Statement st = con.createStatement();
int a= st.executeUpdate("INSERT INTO `stu`.`ouserstable` (`ouname`, `ounum`, `oupwd`) VALUES ('"
+req.getParameter("oname")+"', "
+req.getParameter("onum")+", '"
+req.getParameter("opwd")+"')");
if (a == 1) {
resp.sendRedirect("ouCon.jsp");
}else resp.sendRedirect("ousersIndex.jsp");
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
form表单
<form action="OuAddServlet" method="post">
<h1>注册</h1>
<span>请输入您的信息</span>
<input type="text" id="Username" name="oname" placeholder="姓名"/>
<input type="text" id="Username02" name="onum" placeholder="账号"/>
<input type="password" id="Password" name="opwd" placeholder="密码"/>
<button >注册</button>
</form>
运行结果及报错内容
我的解答思路和尝试过的方法
重新加载jar包
反复检查驱动代码
检查数据库命名、表名、字段名()
我想要达到的结果
弄清楚为什么会报异常