概念:什么是拦截器

      拦截器实现了面向切面的组件,它会影响多个业务对象的公共行为封装到一个个可重用的模块,减少了系统的重复代码,实现高度内聚,确保业务对象的整洁!

     为什么使用拦截器

     拦截器消除了动作组件中的横切任务,为系统处理每一个请求完成的管理任务!

       拦截器的工作原理

    当框架接受到一个请求的时候,它首先必须决定这uri映射到哪一个动作组件,这动作组件的实例就会被加入到一个新创建的Actionlnvocation实例中,然后框架将会验证哪一些拦截器将会被激活触发(xml文件中的配置),以及按照声明的顺序触发。然后将这些拦截器的引用添加到Actionlnvocation中,Actionlnvocation创建并填充了需要的所有对象、信息完毕后,Actionlnvocation则公开了一个invoake()方法,框架然后则调用这个方法并开始继续执行后面的动作!

1、拦截器 Interceptor的实现方式

  实现 Interceptor 接口,实现 intercept 方法

  继承 AbstractInterceptor类( 推荐 ),重写 intercept 方法

2、编写拦截器

          

                从session中获取。。。。。

3、在struts.xml文件中配置拦截器

  一、单个拦截器name为拦截器的名称,class是编写的拦截器

        <!-- 定义的拦截器 -->
        <interceptors>
        <interceptor name="test" class="com.Interceptor.MyInterceptor"></interceptor>
        </interceptors>

  二、拦截器栈

       

        <interceptors>

       <interceptor name="test" class="com.interceptor.MyInterceptor"></interceptor>

        <interceptor-stack name="mystac">

        <interceptor-ref name="test1"></interceptor-ref>

        <interceptor-ref name="test2"></interceptor-ref>

        </interceptor-stack>

        </interceptors>

4、拦截器在action中的引用

     

              index.jsp:登录成功之后的页面!

                <global-results>:全局结果集,非法登录则调回原页面!

  登录测试:

 

struts2拦截器-简单实现非法登录验证的更多相关文章

  1. 防止未登录用户操作—struts2拦截器简单实现(转)

    原文地址:http://blog.csdn.net/zhutulang/article/details/38351629 尊重原创,请访问原地址 一般,我们的web应用都是只有在用户登录之后才允许操作 ...

  2. 用Struts2拦截器实现文件下载前的验证

    思想:用户登录后,将登录信息存储在session中,每次需要验证时,取出来验证 缺陷:没有实现多用户登录时的情况 实行步骤: 登录信息的存储: ActionContext actionContext ...

  3. struts2拦截器の简单实现(日语系统,请忽略乱码,重在实现)

    1.创建类实现interceptor接口或者继承abstractinter~~~类 package com.mi.intercepter; import java.util.Date; import ...

  4. Spring MVC 使用拦截器优雅地实现权限验证功能

    在上一篇 SpringAOP 实现功能权限校验功能 中虽然用AOP通过抛异常,请求转发等勉强地实现了权限验证功能,但感觉不是那么完美,应该用拦截器来实现才是最佳的,因为拦截器就是用来拦截请求的,在请求 ...

  5. 基于SSH2框架Struts2拦截器的登录验证实现(转)

        大象在这里假设你已经弄清楚了Struts2拦截器的基本概念,可以进入实际运用了.那么我们在之前的基础上只需要做下小小的改变,就可以使用Struts2的拦截器机制实现登录的验证.     修改数 ...

  6. Struts2拦截器登录验证

    Struts2拦截器 Struts2拦截器的概念和Spring Mvc拦截器一样. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截 ...

  7. 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截

    程序猿修仙之路--数据结构之你是否真的懂数组?   数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构  .要想在之后的江湖历练中通关,数据结构必不可少. ...

  8. Struts2拦截器 解决登录问题

    一.了解Struts2 拦截器[Interceptor] 拦截器的工作原理如图  拦截器是由每一个action请求(request)都包装在一系列的拦截器的内部,通过redirectAction再一次 ...

  9. SSH—Struts2拦截器的应用(防止未登录用户进行操作)

    前言 类似于京东.淘宝这些平台,如果单纯的去浏览页面上的一些商品显示,一点问题都没有,但是当你点击商品的订单详情或者想查看一下自己的购物车,那么就会出现通过登录进去的界面,这个就是今天要说的这个拦截器 ...

随机推荐

  1. Xcode磁盘空间大清理(转)

    Xcode磁盘空间大清理 我的设备是Macbook Air 13’ Mid 2011,128G SSD.最近开始有些存储压力了,用Clean My Mac清理一部分旧文件后,决定对Xcode动手. 移 ...

  2. overflow:hidden清除浮动原理解析及清除浮动常用方法总结

    最近在看<CSS Mastery>这本书,里面有用overflow:hidden来清理浮动的方法.但是一直想不明白为什么能够实现清除浮动,查阅了网络上的解释,下面来总结一下. 一.首先来想 ...

  3. 拼接json时小心C#中bool类型转化

    C#中bool类型的值,在ToString时会有如下转化:true—>Ture ; false—>False这是拼接到json串中就会出现如下结果:{ "no": &q ...

  4. 面试之SQL(2)--left join, inner join 和 right join的区别

    表A记录如下: aID        aName 1           a1 2           a2 3           a3 4           a4 5           a5 ...

  5. SQL语句添加,删除主键

    IF EXISTS (SELECT * FROM sys.all_objects  WHERE  type_desc= N'主键名')begin --删除主键 alter table 表名 drop ...

  6. iPad accessory communication through UART

    We manufacture a new accessory for iPad/iPhone which should transfer commands to the iPad. We like t ...

  7. 【Linq to Object】使用LINQ实现左链接加GROUP BY查询

    直接上代码留记 var list = (from item in (from tb1 in fileDirList join tb2 in fileInfoList on tb1.FileDirId ...

  8. (二)Qt界面设计之菜单栏

    1.添加菜单项 直接输入菜单项名称,然后回车即可. 2.为菜单项设置图标 在动作编辑器上,右键选择编辑,然后添加图标 如果想在图标栏添加该菜单的快捷图标,直接将该动作项拖放只图标栏即可. 3.事件响应 ...

  9. python mysqldb使用dictcursor

    python在使用MySQLdb库的时候,如下方法默认获取的cursor的结果集是tuple结构的. con = MySQLdb.connect('host',port,'username','pas ...

  10. Poj OpenJudge 百练 1860 Currency Exchang

    1.Link: http://poj.org/problem?id=1860 http://bailian.openjudge.cn/practice/1860 2.Content: Currency ...