`

浅谈struts2拦截器的使用

阅读更多

拦截器在项目开发中占据重要的位置,我们通常不想直接调用某个对象的某一种方法,而是在调用方法前进行一些操作,在调用方法后在进行一些操作,那么这种逻辑我们可以使用拦截器来实现。
1、拦截器需要学习的类和接口。
     Interceptor接口:可以对这个类进行继承,然后重写init(),destory(),intercept方法。
      AbstractInterceptor类:在这个类中,继承Interceptor接口,因而它已经实现了init(),destory(),intercept方法,在实际应用中我们只需继承此类,然后重写intercept方法即可。
       MethodFilterInterceptor类:可以继承此类,然后重写 doIntercept方法。来实现拦截器。
2、拦截器的配置参考代码如下(在struts.xml下进行配置):

      

    <interceptors>
           <interceptor name="MyInterceptor" class="com.test.interceptor.MyInterceptor">//声明一个拦截器
            <param name="hello">world</param>//为拦截器提供参数(这个根据实际需要也可以不提供)
            </interceptor>
              <interceptor-stack name="myStack">  //声明一个拦截器栈 ,方便扩展     
                   <interceptor-ref name="MyInterceptor"></interceptor-ref> //上面定义的拦截器引用     
                  <interceptor-ref name="defaultStack"></interceptor-ref>//struts2默认的拦截器栈,一定要 加上
             </interceptor-stack>
   </interceptors>
  <default-interceptor-ref name="myStack"></default-interceptor-ref>//将mystack设置为默认的,mystack将 应用于每个action.

分享到:
评论

相关推荐

    浅谈Struts2拦截器的原理与实现.docx

    在Struts2应用中,拦截器需要在`struts.xml`配置文件中声明,以决定哪些Action或整个包需要使用哪些拦截器。例如: ```xml &lt;!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration...

    浅谈Struts框架技术.

    当用户发送请求时,ActionServlet首先拦截请求,依据struts.config.xml配置文件将请求转发给相应的Action对象。Action对象执行业务逻辑,更新Model状态,并可能调用其他JavaBean或EJB来处理更复杂的业务。执行完成后...

    浅谈Struts2与Webwork的不同和相同点

    拦截器链使得请求处理更加模块化,控制器与Servlet API解耦,这使得Struts2在处理请求时更加灵活,允许开发者自定义拦截器来实现特定的功能。 其次,Struts2在命名和API上很大程度上沿用了WebWork的风格。许多...

    浅谈基于Struts和Hibernate的J2EE应用

    1. **ActionServlet**:这是Struts框架的前端控制器,它是Servlet的一个子类,负责拦截所有请求并进行处理。 2. **Action**:实现业务逻辑,它接收ActionForm中的数据,执行相应的操作,并返回ActionForward。 3. **...

    浅谈Strut2如何对请求参数的封装

    总结起来,Struts2对请求参数的封装是通过Action类的属性映射、ValueStack的使用以及拦截器链的处理来实现的。这种设计提高了代码的可读性和可维护性,使得开发者能更专注于业务逻辑,而不是繁琐的参数获取。了解这...

    浅谈SSH学习要点

    进阶学习时,你需要关注的是ActionServlet的扩展,比如自定义拦截器,以及ActionForm的变种,如DynaActionForm和LazyValidatorForm,它们提供了动态属性和延迟验证功能。此外,Struts的验证框架、分发Action、...

    浅析webwork

    拦截器允许开发者在Action执行前后插入自定义的逻辑,如权限检查、日志记录等,提高了代码的复用性和模块化。此外,WebWork还提供了强大的数据绑定功能,能够自动将表单参数映射到Action类的属性,减少了手动处理...

    浅谈JAVA 责任链模式

    例如,在红楼梦中的"击鼓传花"、JS 中的事件冒泡、JAVA WEB 中 Apache Tomcat 对 Encoding 的处理、Struts2 的拦截器、jsp servlet 的 Filter 等都可以使用责任链模式。 如何解决 责任链模式的解决方法是拦截的类都...

Global site tag (gtag.js) - Google Analytics