📄 userbean.java
字号:
package com.jsfabc.jsh.view.bean;
import com.jsfabc.jsh.model.bo.User;
import com.jsfabc.jsh.model.service.UserService;
import com.jsfabc.jsh.model.exception.UserException;
import com.jsfabc.jsh.model.service.impl.UserServiceHibernateImpl;
import javax.faces.context.FacesContext;
import javax.faces.application.FacesMessage;
import com.jsfabc.jsh.model.exception.UserNotExistException;
import com.jsfabc.jsh.model.exception.DuplicateUserException;
import com.jsfabc.jsh.model.exception.DbException;
import com.jsfabc.jsh.utils.MessageFactory;
import java.util.Date;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class UserBean {
//用于登录的用户名
private String userName;
//用于登录的密码
private String password;
//用于重输的密码
private String pwd;
//用于表示登录的日期
private Date loginDate;
//用户服务
private UserService userService;
//构造函数
public UserBean() {
}
// 用户名的取得与设置
public String getUserName() {
return userName;
}
public void setUserName(String newValue) {
this.userName = newValue;
}
// 密码的取得与设置
public String getPassword() {
return password;
}
public void setPassword(String newValue) {
this.password = newValue;
}
// 重输密码的取得与设置
public String getPwd() {
return pwd;
}
public void setPwd(String newValue) {
this.pwd = newValue;
}
//登录日期的取得与设置
public Date getLoginDate() {
return loginDate;
}
public void setLoginDate(Date newValue){
this.loginDate=newValue;
}
//创建日志对象
Log log=LogFactory.getLog(this.getClass());
//依赖注入
public void setUserService(UserService newValue){
this.userService=newValue;
}
public String loginAction(){
FacesContext facesContext= FacesContext.getCurrentInstance();
User user = null;
//调用业务对象的登录方法
try{
user = userService.login(userName, password);
if(user!=null){
//在此可以做一些想做的事情。
this.loginDate=user.getLoginDate();
//在日志中记录成功登录的用户
log.info(userName + ": login success!");
//用户成功登录后,返回loginAction方法的结果,
//该结果是一个字符串,用于与导航规则比较,
//导航到登录成功后的页面
return "success";
}
else{
//声明一个没有登录成功的消息
FacesMessage msg=MessageFactory
.getMessage(facesContext,"error_password","");
//为了与原来例子保持一致,这里设置了消息的严重等级
msg.setSeverity(FacesMessage.SEVERITY_WARN);
//将消息保存在facesContext中,供其他过程使用
facesContext.addMessage(null,msg);
//返回loginAction方法的结果,
//该结果是一个字符串,用于与导航规则比较,
//导航到登录失败后的页面
return "failure";
}
}
catch(UserNotExistException ue){
//捕获UserNotExistException异常,其余参见上面else处的注释
FacesMessage msg=MessageFactory.getMessage(facesContext,
ue.getMessage(),new Object[]{ue.getUsername()});
msg.setSeverity(FacesMessage.SEVERITY_WARN);
facesContext.addMessage(null,msg);
//在日志中记录尝试登录的用户ID
log.warn(userName + ": want log in!");
return "failure";
}
catch(DbException de){
//捕获DbException异常,其余参见上面else处的注释
FacesMessage msg=MessageFactory.getMessage
(facesContext,"error_database_error","");
msg.setSeverity(FacesMessage.SEVERITY_WARN);
facesContext.addMessage(null,msg);
return "failure";
}
catch(Exception e){
//捕获其他异常,其余参见上面else处的注释,
FacesMessage msg=MessageFactory.getMessage
(facesContext,"error_unexpected","");
msg.setSeverity(FacesMessage.SEVERITY_ERROR);
facesContext.addMessage(null,msg);
return "failure";
}
}
public String registerAction(){
//取得faces上下文
FacesContext facesContext= FacesContext.getCurrentInstance();
//声明user变量
User user = null;
//访问登录业务对象
//UserService userService=new UserServiceHibernateImpl();
//调用业务对象的注册方法
try{
user = userService.register(userName, password, pwd);
if(user!=null){
//在此可以做一些想做的事情。
//返回导航规则字符串
return "success";
}
else{
//否则在faces上下文中添加出错消息
facesContext.addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_WARN,
"The password of the two enter isn't same.", ""));
//返回导航规则字符串
return "failure";
}
}
catch(DuplicateUserException ue){
facesContext.addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_WARN,
"This user name: " + userName + " already exist.", ""));
//在日志中记录尝试重复注册的用户ID
log.warn(userName + ": already registered!");
return "failure";
}
catch(DbException de){
//捕获DbException异常,其余参见上面else处的注释
FacesMessage msg=MessageFactory.getMessage
(facesContext,"error_database_error","");
msg.setSeverity(FacesMessage.SEVERITY_WARN);
facesContext.addMessage(null,msg);
return "failure";
}
catch(Exception e){
//捕获其他异常,其余参见上面else处的注释,
FacesMessage msg=MessageFactory.getMessage
(facesContext,"error_unexpected","");
msg.setSeverity(FacesMessage.SEVERITY_ERROR);
facesContext.addMessage(null,msg);
return "failure";
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -