Struts2学习笔记之控制拦截器

作者:简简单单 2013-11-03

拦截器的作用类似与我们没有基于strtus框架做开发时候的 filter。


配置默认拦截器,我们这里的拦截器的名字为 defaultStack

 代码如下 复制代码
 

 
 声明拦截器,这里我们声明的拦截器的名字是 myInterceptor

 代码如下 复制代码

              

使用拦截器,这里我们使用的拦截器的名字是 myInterceptor

 代码如下 复制代码
Action" method="checkSome">
       
        /welcom.jsp
        /login.jsp


================== 实际的例子 =====================


1. Interceptor 源码

 代码如下 复制代码

package org.Rudiment.interceptor;

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

public class myInterceptor implements Interceptor
{

    @Override
    public void destroy() {
        System.out.println("销毁了");
    }

    @Override
    public void init() {
        System.out.println("创建了");
    }

    @Override
    public String intercept(ActionInvocation invacation) throws Exception {
        System.out.println("拦截了");
        /* 当invoke()方法被调用的时候,则拦截器对当前请求放行 */
        invacation.invoke();
        return null;
    }

}


2.strtus.xml 配置文件

 代码如下 复制代码


apache.org/dtds/struts-2.1.dtd">

       
       
        Access" value="true" />
      
      
      
              
      

      
       
              
               
               
               
               
                   /welcom.jsp
              

      

   

3.Action 配置文件

 代码如下 复制代码

package org.Rudiment.action;


import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;


public class LoginAction extends ActionSupport
{
    @Override
    public String execute() throws Exception
    {
        System.out.println("执行了execute()");
        return SUCCESS;
    }
}

 

4.JSP 文件

 代码如下 复制代码

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags"%>


测试



   



注:当我们在action显式使用自己的拦截器的时候。默认的拦截器将不生效。如果要让默认的拦截器生效则需要显式声明

相关文章

精彩推荐