拦截器 实例

 登录关键字的session埋点

	public String execute() throws Exception {
		if (loginService != null && loginService.validate(username, password)) {
           ActionContext ac = ActionContext.getContext();
			<span style="color:#ff0000;">ac.getSession().put("u",username);
</span>			System.out.print("set user string!");
			return SUCCESS;
		}
		return INPUT;
	}


 

 

拦截器

package com.xuefeng.ssh.action;



import java.util.Map;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class AuthorityInterceptor extends AbstractInterceptor {
	private static final long serialVersionUID = 1358600090729208361L;

	//拦截Action处理的拦截方法
	public String intercept(ActionInvocation invocation) throws Exception {
		// 取得请求相关的ActionContext实例
		ActionContext ctx=invocation.getInvocationContext();
		@SuppressWarnings("rawtypes")
		Map session=  ctx.getSession();
		//取出名为user的session属性
		<span style="color:#ff0000;">String u= (String) session.get("u");
</span>		System.out.print("get user string+"+u);

		//如果没有登陆,或者登陆所有的用户名不是aumy,都返回重新登陆
		if(u!=null && u.equals("admin")){
			 System.out.println("intercept start");
			return invocation.invoke();
		}
		//没有登陆,将服务器提示设置成一个HttpServletRequest属性
		ctx.put("tip","您还没有登录,请登陆系统");
		return Action.LOGIN;		
	}


}


我二二

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<constant name="struts.enable.DynamicMethodInvocation" value="false" />
	<constant name="struts.devMode" value="false" />
   
	<package name="default" namespace="/" extends="struts-default">
  <span style="color:#ff0000;">   <interceptors>
			<interceptor name="authority"	class="com.xuefeng.ssh.action.AuthorityInterceptor"></interceptor>
			<interceptor-stack name="mydefault">
				<interceptor-ref name="defaultStack"></interceptor-ref>
				<span style="color:#ff0000;"><!--<interceptor-ref name="authority"></interceptor-ref>-->
</span>			</interceptor-stack>
			
		</interceptors>
		
		<default-action-ref name="index" />
</span>
		
         <action name="upload" class="com.xuefeng.ssh.action.UploadFileAction">
         	<result name="input" type="redirect">/listmember.action</result>
			<result name="login" type="redirect">/login.jsp</result>
			<result name="success" type="redirect">/listmember.action</result>
         </action>
		<action name="login" class="loginAction">
		
			<result name="input" type="redirect">/listmember.action</result>
			<result name="login" type="redirect">/login.jsp</result>
			<result name="success" type="redirect">/listmember.action</result>
			
		</action>
		
		<action name="finduser" class="FindUserAction">
			<result name="input" type="redirect">/login.jsp</result>
			<result name="success">/find.jsp</result>
		</action>
		<action name="find" class="findAction">
			<result name="input" type="redirect">/find.jsp</result>
			<result name="success">/find.jsp</result>
		</action>
		<action name="listmember" class="listMemberAction">
			<result name="input" type="redirect">/listMember.jsp</result>
			<result name="success">/listMember.jsp</result>
			<result name="login">/login.jsp</result>
			<span style="color:#ff0000;"><!--<interceptor-ref name="authority"></interceptor-ref>-->
</span>		</action>
		<action name="add" class="addUserAction">
			<result name="input" type="redirect">/listMember.jsp</result>
			<result name="success">/listmember.action</result>
		</action>
		<action name="del" class="delUserAction">
			<result name="input" type="redirect">/listMember.jsp</result>
			<result name="success">/listMember.jsp</result>
		</action>
		<action name="edit" class="editUserAction">
			<result name="input" type="redirect">/listMember.jsp</result>
			<result name="success">/listMember.jsp</result>
		</action>
		<action name="finduserbyname" class="findUserByNameAction">
			<result name="input" type="dispatcher">/find.jsp</result>
			<result name="success" type="dispatcher">/find.jsp</result>
		</action>
		
	</package>

	<include file="example.xml" />
	<!-- Add packages here -->
  <span style="color:#ff6666;"> <package name="struts-cms" extends="struts-default">
       		<span style="color:#ff0000;"><interceptors>
			<interceptor name="authority"	class="com.xuefeng.ssh.action.AuthorityInterceptor"></interceptor>
			<interceptor-stack name="mydefault">
				<interceptor-ref name="defaultStack"></interceptor-ref>
				<!--<interceptor-ref name="authority"></interceptor-ref>-->
			</interceptor-stack>
			
		</interceptors>
		<!--<default-interceptor-ref name="authority"></default-interceptor-ref>-->
</span>			</package>
</span></struts>


 

有单个配置和默认配置,可以打开注释做分别验证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值