struts1拦截器

时间:2022-10-14 18:08:49

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;
struts1拦截器struts1拦截器import java.io.IOException;
struts1拦截器struts1拦截器import javax.servlet.ServletException;
   struts1拦截器import javax.servlet.http.HttpServletRequest;
   struts1拦截器import javax.servlet.http.HttpServletResponse; 
struts1拦截器struts1拦截器import org.apache.struts.action.Action;
   struts1拦截器import org.apache.struts.action.ActionForm;
struts1拦截器   import org.apache.struts.action.ActionForward;
struts1拦截器   import org.apache.struts.action.ActionMapping;
struts1拦截器struts1拦截器import net.sf.struts.saif.ActionHaveForwardInterceptor;
struts1拦截器struts1拦截器public class Display Interceptor implements ActionHaveForwardInterceptor{ struts1拦截器struts1拦截器    
        public ActionForward afterAction(Action arg0, ActionMapping arg1, struts1拦截器            
             ActionForm arg2, HttpServletRequest arg3, HttpServletResponse arg4)            
                 throws IOException, ServletException{ struts1拦截器        
                    // TODO Auto-generated method stub struts1拦截器        
                            returnnull; struts1拦截器    
                        } struts1拦截器struts1拦截器    
               public ActionForward beforeAction(Action action, ActionMapping mapping, struts1拦截器             ActionForm form, HttpServletRequest request, HttpServletResponse response) struts1拦截器            throws IOException, ServletException{ struts1拦截器        
            // TODO Auto-generated method stub struts1拦截器        
                  System.out.println("Inteceptor..."); struts1拦截器       
                            if (!"fred".equals(request.getParameter("user_name"))){ struts1拦截器            
                                return mapping.findForward("noPermission"); struts1拦截器        
                                      } struts1拦截器        
                                 returnnull; struts1拦截器    
                                   } 
struts1拦截器} struts1拦截器

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

struts1拦截器<?xml version="1.0" encoding="UTF-8"?>
struts1拦截器<interceptor-config> struts1拦截器  
<interceptorname="displayInterceptor" type="interceptor.DisplayInterceptor"/> struts1拦截器     struts1拦截器  
<actiontype="/display"> struts1拦截器        
<interceptorname="displayInterceptor"/> struts1拦截器  
</action> struts1拦截器     struts1拦截器</interceptor-config>

4.在struts-config.xml中指定加载interceptor-config.xml

struts1拦截器<plug-in className="net.sf.struts.saif.SAIFSpringPlugin"> struts1拦截器    
<set-propertyproperty="interceptor-config" value="/WEB-INF/interceptor-config.xml"/> struts1拦截器  
</plug-in>

ok,配置完后,启动服务器,然后输入.../display.do?user_name=fred,回车,这时候,这个请求就会被拦截来,

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

就会转向另一个页面。

struts1拦截器的更多相关文章

  1. Struts2拦截器模拟

    前言: 接触Struts2已经有一段时间,Student核心内容就是通过拦截器对接Action,实现View层的控制跳转.本文根据自身理解对Struts2进行一个Java实例的模拟,方便大家理解! 示 ...

  2. 04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

     1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mv ...

  3. struts2 18拦截器详解&lpar;十&rpar;

    ModelDrivenInterceptor 该拦截器处于defaultStack中的第九的位置,在ScopedModelDrivenInterceptor拦截器之后,要使该拦截器有效的话,Actio ...

  4. ssh2——Interceptor拦截器

    尽管没学过struts1吧.可是了解到struts1中并没有拦截器,  到Struts2才有.它是基于WebWork发展起来的, 顾名思义,说到拦截器大家首先肯定会想到它是拦截东西的,起到一个限制的作 ...

  5. springMVC3&period;0(文件上传,&commat;RequestMapping加參数&comma;&commat;SessionAttributes&comma;&commat;ModelAttribute,转发,重定向,数值获取,传參,ajax&comma;拦截器&rpar;

    1.项目包结构例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsiz ...

  6. 6&period; ModelDriven拦截器、Preparable 拦截器

    1. 问题 Struts2 的 Action 我们将它定义为一个控制器,但是由于在 Action 中也可以来编写一些业务逻辑,也有人会在 Action 输入业务逻辑层. 但是在企业开发中,我们一般会将 ...

  7. springmvc的拦截器

    什么是拦截器                                                         java里的拦截器是动态拦截action调用的对象.它提供了一种机制可以使 ...

  8. Struts的拦截器

    Struts的拦截器 1.什么是拦截器 Struts的拦截器和Servlet过滤器类似,在执行Action的execute方法之前,Struts会首先执行Struts.xml中引用的拦截器,在执行完所 ...

  9. Struts2拦截器的执行过程浅析

    在学习Struts2的过程中对拦截器和动作类的执行过程一度陷入误区,特别读了一下Struts2的源码,将自己的收获分享给正在困惑的童鞋... 开始先上图: 从Struts2的图可以看出当浏览器发出请求 ...

随机推荐

  1. ThinkPhp 3&period;2 CRUD操作

    创建数据对象 ThinkPHP可以帮助你快速地创建数据对象,最典型的应用就是自动根据表单数据创建数据对象,这个优势在一个数据表的字段非常之多的情况下尤其明显. 很简单的例子: // 实例化User模型 ...

  2. array&lowbar;fill 用给定的值填充数组

    转自:http://www.phpstudy.net/php/165.html PHP array_fill 用给定的值填充数组 array_fill (PHP 4 >= 4.2.0, PHP ...

  3. 【Todo】用python进行机器学习数据模拟及逻辑回归实验

    参考了这个网页:http://blog.csdn.net/han_xiaoyang/article/details/49123419 数据用了 https://pan.baidu.com/s/1pKx ...

  4. Eclipse导入项目

    导入Eclipse项目 File->Import...->Existing Projects into Workspace->Next->Browse...->Finis ...

  5. 【转】win7与ubuntu双系统,删除ubuntu后,启动错误error:no such partition grub rescue的修复--不错

    原文网址:http://blog.sina.com.cn/s/blog_541900d50101eu9r.html win7于ubuntu双系统,进入windows后直接格式化硬盘分区将ubuntu删 ...

  6. Redis入门必读,The Little Redis Book中文版

    csdn的博客都要搬到这里了 The Little Redis Book中文版 入门 The Little Redis Book中文版 第一章 - 基础知识 The Little Redis Book ...

  7. PMP&lpar;第六版&rpar;十大知识领域、五大项目管理过程组、49个过程矩阵

    今天整理了PMP(第六版)十大知识领域.五大项目管理过程组.49个过程矩阵,分享出来,希望对要考PMP的童鞋有帮助. PS.红字是与第五版的差异 转走请标明出处  https://www.cnblog ...

  8. JarvisOJ Basic 握手包

    得到的是一个.cap文件,我看着好像可以用wireshark打开,就试了一下 报错了,pcapfix上,得到了一个新的.cap文件,用wireshark打开,发现分析不出来 查了一下,有破解握手包的专 ...

  9. 洛谷P1880 石子合并(环形石子合并 区间DP)

    题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...

  10. SpringBoot拦截器

    在实际开发中,总存在着这样的场景,比如拦截请求的ip地址,或者在所有的请求都返回相同的数据,如果每一个方法都写出相同数据固然可以实现,但是随着项目的变大,重复的代码会越来越多,所以在这种情况我们可以用 ...