struts2拦截器-简单实现非法登录验证

概念:什么是拦截器

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

     为什么使用拦截器

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

       拦截器的工作原理

    当框架接受到一个请求的时候,它首先必须决定这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>:全局结果集,非法登录则调回原页面!

  登录测试:

 

时间: 2024-08-29 14:11:37

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

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

1.创建类实现interceptor接口或者继承abstractinter~~~类 package com.mi.intercepter; import java.util.Date; import com.mi.action.LoginAction; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; public class Inter

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

大象在这里假设你已经弄清楚了Struts2拦截器的基本概念,可以进入实际运用了.那么我们在之前的基础上只需要做下小小的改变,就可以使用Struts2的拦截器机制实现登录的验证. 修改数据库 在user表中增加password字段,将初始密码都设为123,因为是示例所以采用明码,实际开发中,当然不能这样做,需要进行加密处理.再将name改为username,其实name字段可以不用改名,我这样做是为了命名规范,请注意,如果字段改为username,User类中的对应属性也要进行相应变化(如果你加注

Struts2拦截器 关于解决登录的问题_java - JAVA

文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 拦截器的工作原理如图 拦截器是由每一个action请求(request)都包装在一系列的拦截器的内部,通过redirectAction再一次发送请求. 拦截器可以在Action执行直线做相似的操作也可以在Action执行直后做回收操作. 我们可以让每一个Action既可以将操作转交给下面的拦截器,Action也可以直接退出操作返回客户既定的画面. 接下来我们该如何定义一个拦截器: 自定义一个拦截器如下: 1.实现In

Struts开发一个权限验证拦截器来判断用户是否登录

开发一个权限验证拦截器来判断用户是否登录 当用户请求受保护资源时,先检查用户是否登录 如果没有登录,则向用户显示登录页面 如果已经登录,则继续操作 实现步骤 开发权限验证拦截器 在配置文件中定义拦截器并引用它 开发权限验证拦截器 public class AuthInterceptor extends AbstractInterceptor { public String intercept(ActionInvocation invocation) throws Exception { //获取

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

拦截器与过滤器           拦截器是对调用的Action起作用,它提供了一种机制可以使开发者定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行.同时也是提供了一种可以提取action中可重用的部分的方式,很多业务逻辑都是靠拦截实现的,比如校验,验证登录权限(比如下载时跳转到登陆页面)等等.     过滤器是对整个的请求过程起作用!换句话说就是拦截器没有过滤器的范围广.过滤器是在java web中,你传入的request,response提前过滤掉一些信息

Struts2 拦截器(Interceptor )原理和配置

一.Struts2拦截器原理: Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的    拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器. 比如:应用要求用户登陆,且必须为指定用户名才可以查看系统中某个视图资源:否则,系统直接转入登陆页面.对于上面的需求,可以在每个Action的执行实际处理逻辑之前,先执行权限检查逻辑,但这种做法不利于代码复用.因为大部分Action里的权限检查代码都大同小异,故

深入分析JavaWeb 47 -- Struts2拦截器与文件上传下载

一.struts2中的拦截器(框架功能核心) 1.过滤器VS拦截器 过滤器VS拦截器功能是一回事.过滤器是Servlet规范中的技术,可以对请求和响应进行过滤. 拦截器是Struts2框架中的技术,实现AOP(面向切面)的编程思想,是可插拔的, 可以对访问某个 Action 方法之前或之后实施拦截. 拦截器栈(Interceptor Stack): 将拦截器按一定的顺序联结成一条链. 在访问被拦截的方法时, Struts2拦截器链中的拦截器就会按其之前定义的顺序被依次调用 Struts2执行原理

深入分析JavaWeb Item47 -- Struts2拦截器与文件上传下载

一.struts2中的拦截器(框架功能核心) 1.过滤器VS拦截器 过滤器VS拦截器功能是一回事. 过滤器是Servlet规范中的技术,能够对请求和响应进行过滤. 拦截器是Struts2框架中的技术.实现AOP(面向切面)的编程思想.是可插拔的, 能够对訪问某个 Action 方法之前或之后实施拦截. 拦截器栈(Interceptor Stack): 将拦截器按一定的顺序联结成一条链. 在訪问被拦截的方法时, Struts2拦截器链中的拦截器就会按其之前定义的顺序被依次调用 Struts2运行原

好好利用Struts2拦截器

继续学习SSH项目,当前完成了用户注册.登录.查看调查,新建调查几个简单的功能,为了程序的健壮性,比如当我们查看调查,新建调查的时候,就应该判断用户是否登陆过,如果没有登录的,则让其进行登录,然后再进行其他操作. 这样的话,利用struts的拦截器来实现是非常方便的.因为struts2中,到达action之前是先进入拦截器中的.所以可以在拦截器中进行判断,下面上部分代码: /** * 登录拦截器,实现对用户登录的拦截操作 * @author Bubble */ @SuppressWarnings