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>
    
  • 相关阅读:
    135、JS和Android交互范例
    《将博客搬至CSDN》
    Android常用工具类
    114、drawable和mipmap 目录下图片的区别
    StringUtils 工具类的常用方法(转载)
    判断当前的Activity的是否处于栈顶
    Git-简单的利用SourceTree提交代码(转载)
    133、 Android 自动化测试(转载)
    c# 利用结构体获取json数据
    如何编写PMP项目管理中的项目立项书
  • 原文地址:https://www.cnblogs.com/jiangwenwen1/p/9464216.html
Copyright © 2011-2022 走看看