拦截器

<?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>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />

	<package name="user"  extends="struts-default">
		<interceptors>
			<interceptor name="myfilter" class="com.MyFilterInterceptor">
				<param name="name">方法拦截器</param>
			</interceptor>
		</interceptors>
		<action name="user" class="com.UserAction">
			<result name="user">/user.jsp</result>
			<interceptor-ref name="myfilter">
				<param name="name">改名后的拦截器</param>
				<!--  
				<param name="excludeMethods">execute</param>
				-->
			</interceptor-ref>
		</action>

		<!-- Add actions here -->
	</package>


</struts>


三个java

package com;

import java.util.Date;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;

public class MyFilterInterceptor extends MethodFilterInterceptor
{
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	@Override
	protected String doIntercept(ActionInvocation invocation) throws Exception {
		// TODO Auto-generated method stub
		System.out.println("-----------拦截器开始----------");
		UserAction action=(UserAction)invocation.getAction();
		long start=System.currentTimeMillis();
		invocation.addPreResultListener(new UserPreResultListener());
		System.out.println("deleteUser方法执行之前拦截");
		String result=invocation.invoke();
		System.out.println("拦截器动作:执行完删除用户deleteUser的时间为"+new Date());
		long end=System.currentTimeMillis();
		System.out.println("拦截器动作:执行action事件的时间是:"+(end-start)+"毫秒");
		System.out.println("-----------拦截器结束----------");
		return result;
	}

}


 

package com;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport
{
	public String deleteUser() 
	{
		System.out.println("执行deleteUser,删除了一条用户信息");
		return "user";
	}
	@Override
	public String execute() throws Exception
	{
		System.out.println("执行了execute方法");
		return "user";
	}
}


 

package com;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.PreResultListener;

public class UserPreResultListener implements PreResultListener
{

	public void beforeResult(ActionInvocation invocation, String result) {
		// TODO Auto-generated method stub
		System.out.println("返回的逻辑视图"+result);
	}
	
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值