我的一个登陆登出方法,利用struts2的,可以执行login方法,但是执行logout的action时,不执行logout(),直接跳转到了result 对应的页面。。。不知道怎么解决,求高人
这是我的UserAction
[code="java"]
package com.lfq.action;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpSession;
import com.lfq.dao.UserDAO;
import com.lfq.dao.impl.UserDAOImpl;
import com.lfq.entity.User;
public class UserAction extends BaseAction {
/**
*
*/
private static final long serialVersionUID = 1L;
private User user;
private String msg; //消息
private String userName;
private String password;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private boolean rememberMe;
public boolean isRememberMe() {
return rememberMe;
}
public void setRememberMe(boolean rememberMe) {
this.rememberMe = rememberMe;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String login() {
String userName = getUserName();
String password = getPassword();
if("".equals(userName) || "".equals(password)) {
this.msg = "用户名或者密码不允许为空!";
return INPUT;
}
UserDAO userDao = new UserDAOImpl();
int userId = userDao.valid(userName, password);
if(userId > 0) {
if(rememberMe){
String t =userId +","+ userName + "," + password;
Cookie cookie = new Cookie("COOKIE_KEY_REMEMBER_LOGIN", t);
cookie.setMaxAge(86400);
super.getResponse().addCookie(cookie);
}
super.getSession().setAttribute("SESSION_KEY_USERNAME", userName);
super.getSession().setAttribute("SESSION_KEY_USERID", userId);
return SUCCESS;
} else {
this.addFieldError("error", "用户名或密码错误");
return INPUT;
}
}
public String logout() {
System.out.println("------------------------");
HttpSession session = getSession();
session.removeAttribute("SESSION_KEY_USERID");
session.removeAttribute("SESSION_KEY_USERNAME");
return SUCCESS;
}
@Override
public void validate() {
// TODO Auto-generated method stub
if(getUserName() == null || getUserName().trim().equals("")) {
addFieldError("userName", getText("user.required"));
return;
}
if(getPassword() == null || getPassword().trim().equals("")) {
addFieldError("password", getText("pass.required"));
return;
}
}
}
[/code]
对应struts.xml如下
[code="java"]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
/admin/login.jsp
/admin/index.jsp
/index.jsp
[/code]