loginmanager.java
来自「基于Sturts的DispatchAction的消息管理系统」· Java 代码 · 共 64 行
JAVA
64 行
package com.bjsxt.messages.manager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.bjsxt.messages.DBUtils;
import com.bjsxt.messages.MessageException;
import com.bjsxt.messages.model.User;
public class LoginManager {
private static LoginManager loginManager;
private LoginManager(){}
public synchronized static LoginManager newInstance(){
if(loginManager == null){
loginManager = new LoginManager();
}
return loginManager;
}
public User login(String username,String password){
Connection conn = null;
ResultSet rs1 = null;
PreparedStatement ps = null;
try {
conn = DBUtils.getConnection();
User user = new User();
ps = conn.prepareStatement("select * from t_user where username = ?");
ps.setString(1,username);
rs1 = ps.executeQuery();
if(rs1.next()){
String pwd = rs1.getString("password");
if(!pwd.equals(password)){
throw new MessageException("login.password_error","用户密码错误");
}
user.setId(rs1.getInt("id"));
user.setUsername(username);
}else{
throw new MessageException("login.user_notfound","没有这个用户");
}
return user;
} catch (SQLException e) {
e.printStackTrace();
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
throw new MessageException("login.error","执行数据库查询操作出现异常!");
} finally{
DBUtils.closeResultSet(rs1);
DBUtils.closeStatement(ps);
DBUtils.closeConnection(conn);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?