拦截器类
- package com.umgsai.txyl.interceptor;
- import com.opensymphony.xwork2.ActionContext;
- import com.opensymphony.xwork2.ActionInvocation;
- import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
- public class AdminInterceptor extends AbstractInterceptor {
- private static final long serialVersionUID = 1L;
- //管理员操作相关的拦截器
- @Override
- public String intercept(ActionInvocation invocation) throws Exception {
- String result = null;
- ActionContext actionContext = invocation.getInvocationContext();
- if((actionContext.getSession().get("admin")==null||"".equals(actionContext.getSession().get("admin")))){
- return "admin_login";
- }
- result = invocation.invoke();
- return result;
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- }
- }
admin.xml中应用
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <package name="admin" extends="struts-default">
- <interceptors>
- <interceptor name="AdminInterceptor" class="com.umgsai.txyl.interceptor.AdminInterceptor" />
- <!-- 定义拦截器栈 -->
- <interceptor-stack name="myStack"><!-- 引用自定义拦截器进行身份验证 -->
- <interceptor-ref name="defaultStack" />
- <interceptor-ref name="AdminInterceptor" />
- </interceptor-stack>
- </interceptors>
- <default-interceptor-ref name="myStack" /><!--拦截器引用 -->
- <global-results><!-- 全局结果转发 -->
- <result name="admin_login">/admin/login.jsp</result><!-- 管理员身份验证失败 -->
- </global-results>
- <action name="p_w_picpath_upload" class="com.umgsai.txyl.action.UploadAction" method="site_modify">
- <param name="allowTypes">p_w_picpath/bmp,p_w_picpath/png,p_w_picpath/gif,p_w_picpath/jpeg,p_w_picpath/pjpeg</param>
- <param name="savePath">/p_w_picpaths</param>
- <result name="error">site_modify.jsp?site_id=${site_id}</result>
- <result name="success">site_modify.jsp?site_id=${site_id}</result>
- </action>
- <action name="admin_login" class="com.umgsai.txyl.action.AdminAction"
- method="execute">
- <interceptor-ref name="defaultStack"/>
- <result name="admin_login_success">index.jsp</result><!-- //用户登录 -->
- <result name="admin_login_failed">login.jsp</result>
- </action>
- </package>
- </struts>