j2ee中实现cookie的自动登录(二)

2014-11-24 02:57:38 · 作者: · 浏览: 1
ll && password != null && email.length() > 0
&& password.length() > 0) {
cookieUser = new User();
cookieUser.setEmail(email);
cookieUser.setPassword(password);

// System.out.println("email=" + cookieUser.getEmail());
// System.out.println("password="
// + cookieUser.getPassword());

IUserService userService = PicoContainer.PICO
.getComponent(IUserService.class);
cookieUser = userService.validLogin(cookieUser);

if (cookieUser != null) {
// 将该user放入到session中
request.getSession().setAttribute(
CommonConstants.SESSION_USER, cookieUser);
} else {
chain.doFilter(request, response);
}
} else {
chain.doFilter(request, response);
}
} else {
chain.doFilter(request, response);
}

} else {
chain.doFilter(request, response);
}
} else {
chain.doFilter(request, response);
}
}

}


3.web.xml配置cookie登录过滤器

Xml代码


cookie-login-filter
com.hydom.filter.CookieLoginFilter


cookie-login-filter
/*


4.用户登录时

Java代码
public class LoginAction extends BaseAction {
private static final long serialVersionUID = 1L;
private String email = null;// 用户邮箱
private String password = null;// 用户密码
private boolean autoLoginStatus = false;

public boolean getAutoLoginStatus() {
return autoLoginStatus;
}

public void setAutoLoginStatus(boolean autoLoginStatus) {
this.autoLoginStatus = autoLoginStatus;
}

public void setEmail(String email) {
this.email = email;
}

public void setPassword(String password) {
this.password = password;
}

// 获取数据层示例
private IUserService userService = PicoContainer.PICO
.getComponent(IUserService.class);
@Override
public String execute() throws Exception {
try {
// 验证用户信息
String message = checkAndFilterUsersInfo();
;
User user = null;
if (message == null) {
user = new User();
user.setEmail(this.email);
user.setPassword(this.password);
user = userService.validLogin(user);
}

// 输出结果
StringBuilder msg = new StringBuilder();
msg.append("{");
if (user != null) {
super.getSession().setAttribute(CommonConstants.SESSION_USER,
user);
msg.append("msg:'success'").append(",");
msg.append("userName:'").append(user.getUserName()).append("'");

if (autoLoginStatus) {
// 根据选择状态判断是否将用户邮箱和密码信息保存在客户端浏览器
addCookieingU