`
roundlight
  • 浏览: 65933 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

框架中配置Interceptor 拦截器功能

阅读更多
针对框架中使用拦截器的功能的具体描述

Struts2发布了,这个版本较struts1.x版本有了很大变化,其中一个就是增加了拦截器功能。这是个非常有用的功能,可是struts1.x却没有。

    其实,struts1.x可以配合插件,实现拦截器的功能。
    SAIF(Struts Action Invocation Framework)是一个开源组件,它让Struts框架具备Action拦截器与IOC的功能,这样你的1.x框架也就有了拦截器的功能。
      1.将saif.jar包放入你的lib中。
      2.创建Interceptor类。比如我在这里创建一个类:
package interceptor;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import net.sf.struts.saif.ActionHaveForwardInterceptor;

public class DisplayInterceptor implements ActionHaveForwardInterceptor ...{

    public ActionForward afterAction(Action arg0, ActionMapping arg1,
             ActionForm arg2, HttpServletRequest arg3, HttpServletResponse arg4)
            throws IOException, ServletException ...{
        // TODO Auto-generated method stub
        return null;
     }

    public ActionForward beforeAction(Action action, ActionMapping mapping,
             ActionForm form, HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException ...{
        // TODO Auto-generated method stub
         System.out.println("Inteceptor...");
        if (!"fred".equals(request.getParameter("user_name"))) ...{
            return mapping.findForward("noPermission");
         }
        return null;
     }

}

3.写interceptor配置文件:interceptor-config.xml。这个配置文件中指定了interceptor类和要被拦截的action

<?xml version="1.0" encoding="UTF-8"?>
<interceptor-config>
  <interceptor name="displayInterceptor" type="interceptor.DisplayInterceptor"/>
   
  <action type="/display">
        <interceptor name="displayInterceptor"/>
  </action>
   
</interceptor-config>
4.在struts-config.xml中指定加载interceptor-config.xml

<plug-in className="net.sf.struts.saif.SAIFSpringPlugin">
    <set-property property="interceptor-config" value="/WEB-INF/interceptor-config.xml" />
  </plug-in>
ok,配置完后,启动服务器,然后输入.../display.do?user_name=fred,回车,这时候,这个请求就会被拦截来,

进入beforeAction中,进行验证,若验证成功,return null,就会转到action的forward指向的页面,若不成功,

就会转向另一个页面。
分享到:
评论
2 楼 咖啡仔 2010-03-10  
saif-spring.jar 这个包中有
1 楼 black.angel 2009-05-14  
LZ 难道在jar包中找到了 ActionHaveForwardInterceptor  这个接口 ???

出鬼了.

相关推荐

    SpringMVC中使用Interceptor拦截器

    本篇文章将深入探讨如何在Spring MVC中使用Interceptor拦截器。 首先,Interceptor的实现需要继承自`HandlerInterceptor`接口或者实现`HandlerInterceptorAdapter`适配器类,这两个类都包含三个核心方法: 1. `...

    struts2 Interceptor拦截器

    在Struts2框架中,**Interceptor(拦截器)**是一个关键组件,它允许开发者在特定的动作(Action)执行前后添加自定义的处理逻辑,极大地增强了应用程序的灵活性。 #### 二、Interceptor 概念与作用 Interceptor ...

    Struts2 拦截器 Interceptor

    在Struts2框架中,拦截器(Interceptor)是一种非常重要的机制,它能够帮助开发者实现诸如权限控制、事务管理、日志记录等跨切关注点的功能。通过定义不同的拦截器栈,可以灵活地组合各种功能,从而达到复用代码的...

    拦截器的使用示例Interceptor

    在Java Web开发中,拦截器(Interceptor)是一种重要的设计模式,它主要用于在请求处理之前、之后或处理过程中执行一些预定义的任务。拦截器通常被应用于MVC(Model-View-Controller)框架,如Spring MVC,Struts等...

    Struts2 配置登陆拦截器

    在登录拦截器中,我们可以检查session中的登录信息,如果没有找到,就抛出异常或者返回一个表示未登录的结果代码。 ```java public class LoginInterceptor implements Interceptor { @Override public String ...

    struts2自定义拦截器配置心得

    Struts2自定义拦截器的配置是Struts2框架中一个非常重要的功能,它允许开发者在Action执行前后插入自定义的逻辑,以实现如权限验证、日志记录、性能监控等多种需求。以下是对标题和描述中涉及的知识点的详细说明: ...

    SpringBoot整合Mybatis完整详细版含注册、登录、拦截器配置

    - **SpringBoot中的拦截器**:SpringBoot使用Spring MVC的Interceptor来实现请求拦截,它可以对请求进行预处理和后处理,比如权限验证、日志记录等。 - **配置拦截器**:在`WebMvcConfigurer`的实现类中,通过`...

    uni-app 请求拦截器

    在uni-app中,我们可以使用`uni.$http`提供的拦截器功能,它包含两个部分:请求拦截器(request interceptor)和响应拦截器(response interceptor)。请求拦截器主要在请求发送前执行,而响应拦截器则在接收到...

    自定义拦截器的实现以及拦截器的详细配置

    在Java Web开发中,拦截器(Interceptor)是一个重要的概念,特别是在使用MVC框架如Struts2时。拦截器可以理解为一种预处理和后处理机制,它在请求到达控制器之前和离开控制器之后进行操作,例如日志记录、权限检查...

    struts2 拦截器的使用(继承抽象拦截器)

    例如,如果在拦截器中检测到用户未登录,可以不调用`invoke()`,直接返回错误结果。 此外,为了使拦截器生效,需要在Struts配置文件(struts.xml)中声明并将其添加到拦截器栈中。例如: ```xml &lt;interceptor ...

    SpringMvc 拦截器

    在Spring MVC框架中,拦截器(Interceptor)是一个强大的工具,用于在请求被控制器处理之前或之后执行特定的逻辑。它们可以用来实现通用的功能,如权限验证、日志记录、性能统计等,避免在每个控制器方法中重复编写...

    CXF拦截器(Interceptor)的使用

    拦截器允许开发者在请求和响应的消息传递过程中插入自定义逻辑,从而在不影响核心框架的情况下,实现诸如日志记录、消息格式转换、安全性检查等复杂功能。 ### 一、基本原理 拦截器的基本工作原理可以类比于管道...

    spring配置JSON拦截器VIEW

    标题中的“spring配置JSON拦截器VIEW”指的是在Spring框架中设置JSON数据的处理方式,特别是通过拦截器(Interceptor)来优化视图层(View)的响应。在Web开发中,拦截器是一种常用的机制,用于在请求被实际处理之前...

    理解拦截器用于在某个方法或字段被访

    在Web开发框架如Struts 2中,拦截器扮演着关键的角色,它们可以实现日志记录、事务管理、权限检查等多种功能。 1. **拦截器的工作原理** 拦截器通常基于代理模式工作。当一个请求到达应用程序时,框架会根据配置...

    SSM项目 拦截器(csdn)————程序.pdf

    在本文中,我们将详细介绍如何在SSM项目中实现登录拦截器,并配置其在SpringMVC框架中的使用。 拦截器的概念 在SpringMVC框架中,拦截器是一种特殊的组件,用于在控制器方法调用前后执行某些操作。拦截器可以用来...

    详解SpringMVC中使用Interceptor拦截器

    在SpringMVC框架中,Interceptor拦截器扮演着关键的角色,它可以拦截用户发起的HTTP请求,进行额外的处理,如权限验证、日志记录、性能监控等。Interceptor是基于AOP(面向切面编程)思想实现的,使得我们可以在不...

    struts2 拦截器实例

    在Struts2中,拦截器(Interceptor)扮演着核心角色,它们允许开发者在Action执行前后插入自定义的逻辑,如日志、权限检查、事务管理等。现在我们将深入探讨Struts2的拦截器机制及其实例应用。 ### 一、Struts2拦截...

Global site tag (gtag.js) - Google Analytics