码迷,mamicode.com
首页 > 其他好文 > 详细

Struct2 拦截器

时间:2014-12-12 22:13:17      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   io   ar   color   sp   strong   on   

 

 

拦截器的整个过程

 

程序是在执行Action之前调用的拦截器,整个过程是这样子的

 

 

 

定义自己的Struct拦截器

 

这个其实就是重复造成轮子的过程,只要看看别人的轮子是怎么造出来的就可以了。

 

首先:定义一个MyInterceptor类

package com.bjsxt.interceptor;

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

public class MyInterceptor implements Interceptor {

    public void destroy() {
        // TODO Auto-generated method stub
        
    }

    public void init() {
        // TODO Auto-generated method stub
        
    }

    public String intercept(ActionInvocation invocation) throws Exception {
        long start = System.currentTimeMillis();
        String r = invocation.invoke();
        long end = System.currentTimeMillis();
        System.out.println("action time = " + (end - start));
        return r;
    }

}

 

然后要把这个拦截器加到配置里面

在Struct里面,默认拦截器都是放在/struts-default.xml 里面,当然我们不能改人家的代码。

 

修改Struct.xml

    <package name="test" namespace="/" extends="struts-default">

首先声明这个拦截器
<interceptors> <interceptor name="my" class="com.bjsxt.interceptor.MyInterceptor"></interceptor> </interceptors> <action name="test" class="com.bjsxt.action.TestAction"> <result>/test.jsp</result> <interceptor-ref name="my"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </action> </package>

 

       在实际开发过程中,自定义拦截器实际上是很少很少用到的。一方面,Struct已经为我们写出来很多拦截器,另一方面,一旦我们自定义了拦截器,那么我们的代码就和Struct绑定上了,以后如果再换成其他架构基本上是无法实现的。

 

Struct2 拦截器

标签:des   style   blog   io   ar   color   sp   strong   on   

原文地址:http://www.cnblogs.com/tech-bird/p/4160482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!