实现目标
实现服务端后台将客户端发送的注册、登陆请求进行处理,并且写入Mysql数据库中。
服务端实现
数据库处理
①数据库连接:
实现DbUtil进行对Mysql数据库的连接工作,利用导入的mysql-connetor的jar包实现连接过程。
②数据库操作DAO层:
连接到数据库后,依据用户需求对数据库的实现需要在DAO层进行:
public User login(Connection con, User user) throws SQLException {
User res = null;
String sql = "select * from users where name=? and password=?";
PreparedStatement preparedStatement = con.prepareStatement(sql);
preparedStatement.setString(1, user.getUsername());
preparedStatement.setString(2, user.getPassword());
ResultSet resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
res = new User();
res.setUsername(resultSet.getString("name"));
res.setPassword(resultSet.getString("password"));
}
return res;
}
public boolean registry(Connection con, User user) throws SQLException {
boolean flag = false;
PreparedStatement ppst = null;
String sql = "INSERT INTO users(name,password)VALUES(?,?)";
ppst = con.prepareStatement(sql);
ppst.setString(1, user.getUsername());
ppst.setString(2, user.getPassword());
if (ppst.executeUpdate() > 0) {
flag = true;
}
return flag;
}
public static boolean UserExists(Connection con, String name) {
PreparedStatement ps = null;
ResultSet rs = null;
String qr = "SELECT * FROM users WHERE name=?";
try {
ps = con.prepareStatement(qr);
ps.setString(1, name);
rs = ps.executeQuery();
return rs.next();
} catch (SQLException e) {
System.out.println(e);
return false;
}
}
基础实现登陆、注册、判断用户是否存在。
登陆功能实际是对数据库进行查询,看是否能依据传入参数找到对应用户数据。
注册功能是对数据库进行更新操作,最后查看操作数即可判断是否注册成功。
③controller层(servelet逻辑):
在controller层就是针对业务对model层实现的DAO、数据库等结合用户请求进行逻辑调用,由HttpServletRequest获取用户传递参数,再用HttpServletResponse进行结果的反馈。
不同servlet逻辑需要用例如@WebServlet("/Registry")
注解进行调用标记。