登录流程图分析
代码
UserAction.java
//登录模块
public String login() throws Exception {
int success = userService.checkUser(user);
if(success == 0) {
return "toIndex";
}
else if(success == 1){
ActionContext.getContext().put("error", "用户名不存在!!");
return "login";
}
else if(success == 2){
ActionContext.getContext().put("error", "用户名或密码错误!!");
return "login";
}
else if(success == 3){
ActionContext.getContext().put("error", "用户未激活!!");
return "login";
}
else {
return "error";
}
}
UserService.java
//登录检查用户账号
public int checkUser(User user) {
User temp = userDao.findUserByUsernameReturnUser(user);
//用户名不存在
if(temp == null) {
return 1;
}
if(temp.getPassword().equals(user.getPassword())) {
if(temp.getState() == 1) {
//登录成功
return 0;
}
else {
//未激活
return 3;
}
}
else {
//密码错误
return 2;
}
}
UserDao.java
//根据用户名返回User对象
public User findUserByUsernameReturnUser(User user) {
Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
String sql = "select * from user where username =?";
NativeQuery query = session.createSQLQuery(sql);
query.addEntity(User.class);
query.setParameter(1, user.getUsername());
User temp = (User) query.uniqueResult();
return temp;
}