Struts 2 - 在 web.xml 中配置拦截器和前后台权限过滤器
现在只是为将来总结提示一下,以后再将运行流程详细解说并将源码添加到附件上,同时加深自己对 Struts 运行机制。
Architects Guide
Figure 1? Struts 2 Framework's Architecture
?
?
AuthorityFilter.java
?
package com.tucue.interceptor;import static com.opensymphony.xwork2.Action.ERROR;import java.util.Map;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;/** * 文件名称:AuthorityInterceptor.java * * 版权信息:TD 实验室 * * 创建日期:2010-4-22 * * 修改历史: *//* * 类的功能描述:登录权限拦截器 * * 作者:Li Huagang */public class AuthorityInterceptor extends AbstractInterceptor {private static final long serialVersionUID = 1770471187955003755L;public static String LOGINED_FLAG = "logined";// 判断用户是否已登录@Overridepublic String intercept(ActionInvocation invocation) throws Exception {HttpServletResponse response = ServletActionContext.getResponse();response.setContentType("text/html;charset=UTF-8");Map<?,?> session = invocation.getInvocationContext().getSession();Object logined = session.get(AuthorityInterceptor.LOGINED_FLAG);if (logined == null) {return ERROR;} else {return invocation.invoke();}}}??
?