javaweb项目中,想实现注册功能,点击注册按钮后,出现 java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because "conn" is null 错误
检查过数据库名和表名,没问题,请大家看看哪里出错了,我也按照网上的方法,把数据库驱动导入到Tomcat的lib文件夹下了,还是不行。
@WebServlet(name = "register")
public class register extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
String empname = request.getParameter("empname");
String emppw = request.getParameter("emppw");
String empsex = request.getParameter("empsex");
String empage = request.getParameter("empage");
// 创建员工实体
EMPLOYEE e = new EMPLOYEE(empname,emppw,empsex,empage);
// 加入到数据库中
int count = empdao.insert(e);
System.out.println(e);
// 成功或失败重定向到哪里
if(count > 0){
PrintWriter out = response.getWriter();
out.write("<script>");
out.write("alert('员工添加成功')");
out.write("</script>");
response.sendRedirect("login_web.jsp");
}
else {
PrintWriter out = response.getWriter();
out.write("<script>");
out.write("alert('员工已存在')");
out.write("</script>");
out.write("location.href='reg");
// out.write("");
// out.write("");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}

```java
public class EMPLOYEE {
private String employee_name;
private String employee_password;
private String employee_sex;
private String employee_age;
public EMPLOYEE(String name, String password, String sex, String age){
super();
employee_name = name;
employee_password = password;
employee_sex = sex;
employee_age = age;
}
public String getEmployee_name() {
return employee_name;
}
public String getEmployee_password() {
return employee_password;
}
public String getEmployee_sex() {
return employee_sex;
}
public String getEmployee_age() {
return employee_age;
}
public void setEmployee_name(String employee_name) {
this.employee_name = employee_name;
}
public void setEmployee_password(String employee_password)
{
this.employee_password = employee_password;
}
public void setEmployee_sex(String employee_sex) {
this.employee_sex = employee_sex;
}
public void setEmployee_age(String employee_age) {
this.employee_age = employee_age;
}
}
```java
public class empdao {
// 插入数据
public static int insert(EMPLOYEE e){
String sql = "insert into employee values(?, ?, ?, ?)";
Object[] params = {e.getEmployee_name(),
e.getEmployee_password(),
e.getEmployee_sex(),
e.getEmployee_age()};
return Basedao.exectuIUD(sql, params);
}
}
```java
public class Conn {
public static void main(String[] args) {
Connection con = null;
//jdbc驱动
String driver="com.mysql.cj.jdbc.Driver";
//这里我的数据库是cxxt
String url="jdbc:mysql://localhost:3306/pet?&useSSL=false&serverTimezone=UTC";
String user="root";
String password="admin";
try {
//注册JDBC驱动程序
Class.forName(driver);
//建立连接
con = DriverManager.getConnection(url, user, password);
Statement stmt = con.createStatement();
String sql;
sql = "select * from employee";
ResultSet ret = stmt.executeQuery(sql);
while (ret.next()){
String name = ret.getString("empname");
System.out.println("empname:"+name);
}
if (!con.isClosed()) {
System.out.println("数据库连接成功");
}
con.close();
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动没有安装");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
}
}


