struts之拦截器

拦截器是为了让一些自己不希望发生的事情进行预防。以下我说一下struts自己定义拦截器。

以下我贴下struts.xml里的自定义的拦截器:

<package name="my" extends="struts-default">
             <interceptors>
                <interceptor name="myInterceptor" class="util.MyInterceptor" />
                
                 <interceptor-stack name="mydefault">
                      <interceptor-ref name="defaultStack" />
                      <interceptor-ref name="myInterceptor" />
                 </interceptor-stack>
             </interceptors>
             <!-- 把自己的拦截器设置成默认的拦截器 -->
             <default-interceptor-ref name="mydefault" />
             
             <!-- 对于重复利用的网页,我们不在action里定义,而定义在全局结果集中,在全部的action里都能够应用 -->
             <global-results>
                 <result name="login">/login.jsp</result>
                 <result name="error">/error.jsp</result>
             </global-results>
             
         </package>

有了拦截器,当然要拦截action,以下我贴下怎样拦截action

 <!-- 继承自拦截器类my,每次訪问此路径,进行拦截 -->       
        <package name="struts2" namespace="/tutorial" extends="my">
            <action name="HelloWorld" class="tutorial.HelloWorld">
                <result name="hellow">/HelloWorld.jsp</result>
            </action>
        </package>

说明确一点。仅仅要继承了my,就能进行拦截。最后当然是拦截器类。
public class MyInterceptor extends AbstractInterceptor{

	public void init(){

	}

	public void destroy(){

	}

	//对訪问的路径进行拦截,运行以下的方法
	public String intercept(ActionInvocation invocation) throws Exception {
       
		System.out.println("asddffawasfee");
		
		return invocation.invoke();
		
	}

}  

posted @ 2016-02-16 16:34  mfrbuaa  阅读(192)  评论(0编辑  收藏  举报