`
wuhua
  • 浏览: 2110967 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

webwork的拦截器真是好用

阅读更多
          这几天设计一个项目,虽然基本上是采用老项目的权限管理,但发现老项目的权限管理,把一些细微的权限写死在方法里面,而且每增加一个权限,都有进行配置,写静态属性,很烦。所以今天想了下,决定采用webwork自带的拦截器来实现细微的权限设计。在这里我就不细说拦截器的使用了。贴代码出来
java 代码
 
  1. public class PermissionInterceptor implements Interceptor {  
  2.     private static Logger logger = Logger.getLogger(PermissionInterceptor.class);  
  3.       
  4.     /** 
  5.      * 需求拦截并进行判断的权限参数 
  6.      */  
  7.     private String prem;  
  8.       
  9.   
  10.     public final void setPrem(String prem) {  
  11.         this.prem = prem;  
  12.     }  
  13.   
  14.     public PermissionInterceptor() {  
  15.         super();  
  16.     }  
  17.   
  18.     public void destroy() {  
  19.     }  
  20.   
  21.     public void init() {  
  22.     }  
  23.   
  24.     /** 
  25.      * 拦截用户操作 
  26.      */  
  27.     public String intercept(ActionInvocation invocate) throws Exception {  
  28.         logger.debug(prem);  
  29.         if(PermissionUtil.hasPermission(prem)){  
  30.             logger.debug("No Prem");  
  31.             return invocate.invoke();     
  32.         }else{  
  33.             logger.debug("Yes Prem");  
  34.             return Constant.NOT_AUTHORIZE;  
  35.         }  
  36.           
  37.     }  
  38.   
  39. }  

在配置文件里只需要这样做就ok了

        
xml 代码
 
  1. <action name="list"  
  2.     class="com.teesoo.teanet.action.member.MemberAction" method="list">  
  3.     <result name="success" type="freemarker">  
  4.         /WEB-INF/template/member/member_list.ftl  
  5.     </result>  
  6.       
  7.     <interceptor-ref name="myDefaultStack">  
  8.        
  9.     </interceptor-ref>  
  10.       
  11.     <interceptor-ref name="permissionInterceptor">  
  12.         <param name="prem">  
  13.             df  
  14.         </param>  
  15.     </interceptor-ref>  
  16.   
  17. </action>  
<action name="list"><interceptor-ref name="permissionInterceptor">
               
            </interceptor-ref>

        </action>
上面的df就是你自己定义的权限操作参数。这样就避免了软编码。直接硬编码就ok了。方便明了。
我这才发现webwork的拦截器是多么的贴心
分享到:
评论

相关推荐

    webwork 权限拦截器

    WebWork权限拦截器是WebWork框架中的一个重要组件,主要用于实现基于拦截器(interceptor)的权限控制。在Web开发中,权限拦截器扮演着至关重要的角色,它可以在用户请求到达控制器之前进行预处理,判断用户是否有权...

    webwork拦截器,验证,以及帮助文档

    本篇将详细介绍WebWork中的核心概念——拦截器(Interceptor)以及验证(Validation)机制,并结合提供的帮助文档进行学习指导。 首先,我们来理解WebWork的拦截器机制。在WebWork中,拦截器是处理请求的关键组件,...

    J2EE(Struts_拦截器)

    可以使用`&lt;interceptors&gt;`标签定义拦截器栈,然后使用`&lt;interceptor&gt;`标签声明具体的拦截器,最后在`&lt;action&gt;`标签中通过`&lt;interceptor-ref&gt;`指定拦截器的使用。 例如: ```xml ...

    java拦截器

    例如,在Webwork框架中,拦截器被称为动态拦截Action调用的对象。它不仅允许开发者定义在Action执行前后执行的代码,还可以在Action执行前阻止其执行。此外,拦截器还提供了一种提取Action中可重用部分的有效途径。 ...

    WebWork2.0讲解说明

    3. Interceptors(拦截器):拦截器是WebWork2.0的一个强大功能,允许在Action调用前后插入自定义逻辑,如权限验证、日志记录等。 二、WebWork2.0主要特性 1. 智能表单绑定:WebWork2.0支持自动将HTTP请求参数绑定...

    webwork

    WebWork2作为一款成熟的MVC框架,凭借其灵活的架构、丰富的特性,如Action驱动模式、XWork拦截器体系、输入校验、国际化支持,以及与Spring框架的良好集成,成为了企业级Web应用开发的理想选择。无论是对于初学者...

    webwork.pdf

    WebWork 2.0的配置相对简洁,主要通过XML配置文件来描述Action、拦截器和其他组件。对于开发者来说,熟悉这些配置规则是必不可少的。快速入门通常包括搭建开发环境、创建基本的Web应用、定义Action和配置拦截器等...

    WebWork docs 2 -- webWork 详细的说明文档

    1. **WebWork基础**:WebWork的核心概念,如Action、Interceptors(拦截器)、Results和Parameters等,以及它们如何协同工作来实现业务逻辑和视图呈现的分离。理解这些基础概念是掌握WebWork的关键。 2. **MVC模式*...

    webwork源码底层实现

    4. **Interceptors(拦截器)**:WebWork引入了拦截器的概念,它们在Action执行前后执行,可以实现通用的功能,如权限检查、日志记录等。在源码中,你会看到这些拦截器的实现。 5. **Value Stack(值栈)**:...

    spring与webwork框架集成

    5. **拦截器(Interceptor)**:WebWork 使用拦截器来处理请求前后的逻辑,这里添加的 `reference-resolver` 拦截器确保了 Action 中的外部引用能在运行时被正确解析。 6. **web.xml 配置**:配置监听器是集成的...

    WebWork2配置

    4. **拦截器**:WebWork2通过拦截器链来增强Action的执行过程,例如,权限检查、日志记录、事务管理等。在webwork.xml中,你可以创建自定义的拦截器并将其添加到默认的拦截器栈中。 5. **结果类型配置**:WebWork2...

    webwork中文文档

    1. **配置WebWork**:首先,需要在项目的web.xml中配置WebWork的监听器,并在WebWork的配置文件中定义Action和拦截器。 2. **编写Action类**:创建Action类并实现相应的业务逻辑。 3. **配置拦截器**:根据需要选择...

    Webwork2_guide

    通过“Webwork2_guide.pdf”,读者将能够深入学习如何利用Webwork2的各种特性,包括Action的设计、拦截器的编写、配置文件的配置、异常处理和测试方法等,从而成为一名熟练的Webwork2开发者。这个指南对于初学者和...

    webwork2个人学习总结

    - `&lt;interceptors&gt;`节点配置了拦截器,Webwork2的拦截器机制允许在Action执行前后插入自定义逻辑。例如,`params`拦截器负责将请求参数封装到Action的属性中,而`model-driven`拦截器支持Model驱动的Action模式。 ...

    WEBWORK

    WebWork 提供了强大的动作(Action)处理、类型转换、拦截器(Interceptor)机制和丰富的验证功能,帮助开发者构建可维护、可扩展的 Web 应用程序。 在 WebWork 中,配置是至关重要的,因为它定义了框架如何工作...

    webWork

    它使用Action类作为模型,处理用户的请求,并通过Interceptor拦截器进行业务逻辑控制,视图通常是JSP或FreeMarker模板。 二、核心概念 1. Action:WebWork中的核心组件,负责处理用户请求并执行相应的业务逻辑。...

    webwork-register.rar_webwork_webwork 验证_webwork spring

    4. **WebWork拦截器**:WebWork的拦截器机制允许在动作执行前后插入自定义逻辑,例如登录检查、性能监控或者数据验证,这在注册过程中尤为重要,可以确保数据的有效性和安全性。 5. **Spring事务管理**:对于涉及...

    webwork2开发指南

    1. 动作拦截器(Interceptors):拦截器可以对动作执行前后的流程进行增强,如权限检查、日志记录等。通过配置,可以灵活地组合和应用拦截器。 2. 数据验证(Validation):WebWork2提供了强大的数据验证机制,可以...

Global site tag (gtag.js) - Google Analytics