今日学习笔记
用户权限管理系统
完善用户登录功能,通过用户名查询到用户信息
public User queryUserById(String userId) throws SQLException {
String sql = "select u.* from userInfo u where u.userId=''"+userId+"''";
User user = null;
MySqlDB mySqlDB = new MySqlDB();
Connection conn = mySqlDB.getConn();
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
user = new User();
user.setUserId(rs.getString("userId"));
user.setUserName(rs.getString("userName"));
user.setUserPassword(rs.getString("userPassword"));
user.setRoleId(rs.getInt("roleId"));
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}finally {
assert rs != null;
rs.close();
stmt.close();
conn.close();
}
return user;
}
}
在userService中替换该声明
List<User> queryUsers() throws SQLException;
User queryUserById(String userId) throws SQLException;
Dao层的实现
@Override
public List<User> queryUsers() throws SQLException {
UserDao userDao = new UserDaoimpl();
return userDao.queryUsers();
}
@Override
public User queryUserById(String userId) throws SQLException {
UserDao userDao = new UserDaoimpl();
return userDao.queryUserById(userId);
}
注意:每个项目功能都要有一个service方法,每个方法都要写一个实现过程,这是必不可少的,service中存放的是业务逻辑代码,dao中存放的是数据库相关控制,分别编写、存放,便于以后的更改。
调用Service
try {
UserService userService = new UserServiceImpl();
User user = userService.queryUserById(username);
if ("admin".equals(username) && "123456".equals(password)) {
req.setAttribute("username", username);
req.getRequestDispatcher("/userServlet").forward(req, resp);
} else {
req.setAttribute("username", username);
req.setAttribute("error","用户名或密码错误");
req.getRequestDispatcher("/login.jsp").forward(req, resp);
resp.sendRedirect("/longin.jsp");
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
判断:
user != null && user.getUserPassword().equals(password)
如果用户名正确,跳转用户密码,如果错误,则显示用户名不存在
浙公网安备 33010602011771号