zoukankan      html  css  js  c++  java
  • [JavaWeb基础] 011.Struts2 配置拦截器

       在网页开发中有一个很重要的东西就是拦截器,就是在请求接收到的时候先到拦截器进行一些逻辑处理,例如会话是否过期的验证等。在Struts2中我们可以编写一个拦截器的类,然后在struts.xml中简单配置,然后实现Action的拦截。下面我们来看看配置的具体内容。

      1.书写拦截器的类,要继承com.opensymphony.xwork2.interceptor.AbstractInterceptor

    package com.babybus.sdteam.filter;
    
    import java.util.Map;
    import com.opensymphony.xwork2.Action;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionInvocation;
    import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
    
    public class LoginIntercept extends AbstractInterceptor {
    
    	/**
    	 * 序列号
    	 */
    	private static final long serialVersionUID = 1L;
    
    	@Override
    	public String intercept(ActionInvocation invocation) throws Exception {
                // 获取上下文
    	    ActionContext ctx = invocation.getInvocationContext();
    	    // 获取request参数
    	    Map<String, Object>  params = ctx.getParameters();
    	    // 判断是否传递参数,可以写自己的逻辑
                if(params.size()<=0)
                {
            	    System.out.println("没有参数....");
            	    return Action.LOGIN;  
                }
            
                return invocation.invoke();  
    	}
    }
    

      2.struts.xml配置

    <!-- 定义一个拦截器 -->  
    <interceptors>  
        <interceptor name="authority"  class="com.babybus.sdteam.filter.LoginIntercept">  
        </interceptor>  
        <!-- 拦截器栈 -->  
        <interceptor-stack name="mydefault">  
            <interceptor-ref name="defaultStack" />  
            <interceptor-ref name="authority" />  
        </interceptor-stack>  
    </interceptors>  
    
    <!-- 定义全局Result -->  
    <global-results>  
        <!-- 当返回login视图名时,转入/login.jsp页面 -->  
        <result name="login">/index.jsp</result>  
    </global-results>  
    	
    	
    <action name="logOn" class="com.babybus.sdteam.action.LoginAction">    
        <result name="loginSuccess">/UserList.jsp</result>  
        <interceptor-ref name="mydefault" />  
    </action> 
    

     3.通过如上在action中配置定义的拦截器去对指定的Action添加拦截器

    结语

    • 受益,掌握了Struts2 拦截器

     

    本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 

    转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4737634.html

  • 相关阅读:
    depth深度
    Springboot之异步任务和任务调度
    Spring + SpringMVC + MyBatis 整合
    SpringMVC 拦截器配置
    SpringMVC 简单入门
    MyBatis-Spring 事务配置
    MyBatis-Spring 简单入门
    Spring AOP
    Java 动态代理实现
    mongo 停止创建索引 --noIndexBuildRetry
  • 原文地址:https://www.cnblogs.com/superdo/p/4737634.html
Copyright © 2011-2022 走看看