zoukankan      html  css  js  c++  java
  • Struts2之拦截器

    1.第一种方式

    拦截器类书写

    public class UserInterceptor extends AbstractInterceptor  {
    
    	@Override
    	public String intercept(ActionInvocation invocation) throws Exception {
    		
    		System.out.println("我在action之前执行!");
    		
    		System.out.println("拦截时间:"+new Date());
    		
    		//执行的是Action中的方法
    		String result = invocation.invoke();
    		
    		System.out.println("我在action之后执行!");
    		
    		return result;
    		
    	}
    
    }
    

    struts.xml配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
    <struts>
    <constant name="struts.devMode" value="true"></constant>
    <package name="jiangwenwen" namespace="/" extends="struts-default">
    	<interceptors>
    		<interceptor name="userInterceptor" class="cn.jiangwenwen.interceptor.UserInterceptor"></interceptor>
    	</interceptors>
    		
    	<action name="login" class="cn.jiangwenwen.action.UserAction" method="login">
    		<result>/test.jsp</result>
    		<interceptor-ref name="userInterceptor"></interceptor-ref>
    		<!-- 当使用自定义拦截器,默认拦截器将会失效,所以需要添加默认拦截器 -->
    		<interceptor-ref name="defaultStack"></interceptor-ref>	
    	</action>
    </package>
    </struts>
    

    2.第二种方式

    拦截器类书写

    public class UserInterceptor extends MethodFilterInterceptor{
    
    	@Override
    	protected String doIntercept(ActionInvocation invocation) throws Exception {
    		
    		 System.out.println("我在action之前执行!");
    	        
    	        System.out.println("拦截时间:"+new Date());
    	        
    	        //执行的是Action中的方法
    	        String result = invocation.invoke();
    	        
    	        System.out.println("我在action之后执行!");
    	        
    	        return result;
    		
    	}
    
    }
    

    struts.xml配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
    <struts>
    <constant name="struts.devMode" value="true"></constant>
    <package name="jiangwenwen" namespace="/" extends="struts-default">
    	<interceptors>
    		<interceptor name="userInterceptor" class="cn.jiangwenwen.interceptor.UserInterceptor"></interceptor>
    	</interceptors>
    				
    	<action name="login" class="cn.jiangwenwen.action.UserAction" method="login">
    		<result>/test.jsp</result>
    		<interceptor-ref name="userInterceptor">
    			<!-- 代表是否拦截某一个方法 -->
    			<param name="excludeMethods">login</param>
    		</interceptor-ref>
    		<!-- 当使用自定义拦截器,默认拦截器将会失效,所以需要添加默认拦截器 -->
    		<interceptor-ref name="defaultStack"></interceptor-ref>	
    	</action>
    </package>
    </struts>
    
  • 相关阅读:
    xcode5 ios6程序图标去掉阴影
    ios程序启动时去掉状态栏
    ios启动图标程序适配
    c语言基础:各种数据类型的输出占位符
    c语言变量作用域问题
    JS 学习笔记--11---内置对象(Global/Math)
    JS 学习笔记--10---基本包装类型
    JS 学习笔记--9---变量-作用域-内存相关
    JS 学习笔记--8---Function类型
    JS 学习笔记--6---日期和时间
  • 原文地址:https://www.cnblogs.com/jiangwenwen1/p/9464216.html
Copyright © 2011-2022 走看看