1.目录结构图:
2.数据库
JDBCUtils -------- 工具类 :加载驱动 和 释放资源
LoginServlet ------- 登入界面
RegisterServlet -------注册界面
User ----------------------用户类
UserDAO ----------------工具类写了 注册 和 登入的两种方法
代码:
JDBCUtils 类:
package com.test;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.*;
import java.util.Properties;
//JDBC工具类
public class JDBCUtils {
//1.1 获取对象
private static String url;
private static String user;
private static String password;
private static String driver;
static{
try {
url ="jdbc:mysql:///dbc?useUnicode=true&characterEncoding=utf8";
user = "root";
password = "123456";
driver = "com.mysql.cj.jdbc.Driver";
// 最新版本的加cj com.mysql.cj.jdbc.Driver 如果不是最新的版本用 com.mysql.jdbc.Driver ;
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
// COnnection conn = DriverManager.getConnection(url,user,password);
return DriverManager.getConnection(url,user,password);
}
public static void close(ResultSet rs,PreparedStatement stmt,Connection conn){
try{
if(rs != null){
rs.close();
}
}catch(SQLException e){
e.printStackTrace();
}
try{
if(stmt != null){
stmt.close();
}
}catch(SQLException e){
e.printStackTrace();
}
try{
if(conn != null){
conn.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
public static void close(PreparedStatement stmt,Connection conn){
try{
if(stmt != null){
stmt.close();
}
}catch(SQLException e){
e.printStackTrace();
}
try{
if(conn !&