初学struts2 的拦截器 看了下Demo很多地方不理解!!拦截器部分!! public String intercept(ActionInvocation actionInvocation) throws Exception {
System.out.println("begin check login interceptor"); // ��LoginAction�������9��
Object action = actionInvocation.getAction();
if (action instanceof LoginAction) {
System.out
.println("exit check login, because this is login action.");
return actionInvocation.invoke();
}
// ��֤ session
Map session = actionInvocation.getInvocationContext().getSession();
String username = (String) session.get(USER_SESSION_KEY); if (username != null) {
// ���ڵ�����½��к������
System.out.println(username+" already login!");
return actionInvocation.invoke();
} else {
// ������ֹ����������LOGIN
System.out.println("no login, forward login page!"); return Action.LOGIN;
}
}不理解这个拦截器的意思!  谁能帮忙注释下 讲解下呢 它对应的Action是:public class LoginAction extends ActionSupport implements SessionAware {
private static final long serialVersionUID = 1L; private UserBean userBean; private Map<String, String> session; public UserBean getUserBean() {
return userBean;
} public void setUserBean(UserBean userBean) {
this.userBean = userBean;
} @Override
public String execute() {
if (userBean == null) {
return LOGIN;
} String name = userBean.getName();
String pwd = userBean.getPassword(); session.put(CheckLoginInterceptor.USER_SESSION_KEY, name); if (name.equals("java") && pwd.equals("struts")) {
return SUCCESS;
} else {
return ERROR;
}
}

public void setSession(Map session) {
this.session = session;
}