首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts不运用注解,配置拦截器interceptor

2012-07-30 
Struts不使用注解,配置拦截器interceptor这种配置拦截器方式比struts使用注解配置拦截器的方式简单配置步

Struts不使用注解,配置拦截器interceptor

这种配置拦截器方式比struts使用注解配置拦截器的方式简单

配置步骤:

一、先写一个拦截器,因为我们重点在配置,这里我写了个登录拦截器(LoginInterceptor?.java),继承AbstractInterceptor

?

package com.kaishengit.web.interceptor;import java.util.Map;import java.util.Set;import com.kaishengit.pojo.Employee;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;import com.opensymphony.xwork2.util.TextParseUtil;public class LoginInterceptor extends AbstractInterceptor{private static final long serialVersionUID = 1L;private String excludeActionName;//剔除的拦截方法private String sessionName;//用户名在session中存放的key值@Overridepublic String intercept(ActionInvocation invocation) throws Exception {String actionName = invocation.getProxy().getActionName();//获取当前访问的action名字Set<String> set = TextParseUtil.commaDelimitedStringToSet(excludeActionName);if(set.contains(actionName)){return invocation.invoke();}else{Map<String, Object> session = invocation.getInvocationContext().getSession();Employee employee = (Employee) session.get(sessionName);if(employee == null){return "login";//没有登录,跳转到登录页}else{return invocation.invoke();}}}//get setpublic String getExcludeActionName() {return excludeActionName;}public void setExcludeActionName(String excludeActionName) {this.excludeActionName = excludeActionName;}public String getSessionName() {return sessionName;}public void setSessionName(String sessionName) {this.sessionName = sessionName;}}

?

??二、在struts.xml中配置

?

<?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"><struts><package name="myPackage" extends="struts-default"><interceptors><!--配置自己写的登录拦截器  --><interceptor name="loginInterceptor" type="redirectAction">index.php?state=10002</result></global-results><action name="index" class="com.kaishengit.web.AppAction"><result>/WEB-INF/views/index.jsp</result></action>....</package></struts>

?--end---

?

热点排行