【Struts2三】拦截器】的更多相关文章

拦截器 需求 如果要访问某一个action类中的某一个方法的内容,如果是admin用户,则访问,如果不是admin用户,则不能访问. 实现 缺点  权限判断的代码和业务逻辑代码混合在一起了 利用拦截器改进 实现 步骤 1.    编写interceptor return "error"  跳过action  返回strut.xml中 result结果的页面 2.    写一个PvilegeSuperAction 3.    在配置文件中进行配置 详细解析 说明: 通过该图可以看出:当提…
2. Struts2的拦截器(使用拦截器实现权限控制) 2.1 拦截器的概述 拦截器是Struts2的核心组成部分,它可以动态的拦截Action调用的对象,类似与Servlet中的过滤器.Struts2的拦截器是AOP(Aspect-Object-Programming,面向切面编程)的一种实现策略,是可插拔的,需要某一个功能时就“插入”这个功能的拦截器,不需要这个功能就“拔出”拦截器.开发者只需要提供拦截器的实现类,并将其配置在Struts.xml中即可. 2.1.2 拦截器的工作原理 通常情…
一.Struts2的系统结构图…
http://aumy2008.iteye.com/blog/146952 Struts2使用拦截器完成权限控制示例 示例需求:    要求用户登录,且必须为指定用户名才可以查看系统中某个视图资源:否则,系统直接转入登陆页面. 一.页面部分 1.登陆页面代码(login.jsp) <%@ page language="java" contentType="text/html; charset=GBK"%> <%@taglib prefix=&quo…
什么是拦截器 拦截器Interceptor.....拦截器是Struts的概念,它与过滤器是类似的...可以近似于看作是过滤器 为什么我们要使用拦截器 前面在介绍Struts的时候已经讲解过了,Struts为我们实现了很多的功能,比如数据自动封装阿..文件上传功能阿....Struts为我们提供的这些功能都是通过拦截器完成的...... 数据自动封装通过<interceptor name="params" class="com.opensymphony.xwork2.i…
http://blog.csdn.net/yerenyuan_pku/article/details/68648101 Struts2的拦截器 拦截器的概述 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作.拦截是AOP的一种实现策略. 在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象.它提供了一种机制可以使开发者可以定义在一个Action执行的前后执行的代码,也可以在一个…
前言 前面提到过拦截器.而且说拦截器仅仅能拦截Action.这里拦截器的调用体现了责任链模式.为什么说体现了责任链模式呢? 以下的一段话说的非常明确: Struts2将整个运行划分成若干同样类型的元素,每一个元素具备不同的逻辑责任,并将它们纳入到一个链式的数据结构中.而每一个元素又有责任负责链式结构中下一个元素的运行调用. 从代码重构的角度来看,实际上是将一个复杂的系统,分而治之.从而使得每一个部分的逻辑可以高度重用并具备高度可扩展性. 拦截器的原理 Struts2框架的拦截器是动态配置的,假设…
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核心配置.动态方法调用.结果集的处理 传送门 JavaWeb_(Struts2框架)Log4j的配置以及解决中文乱码 传送门 JavaWeb_(Struts2框架)参数传递之接收参数与传递参数 传送门 JavaWeb_(Struts2框架)Ognl小案例查询帖子 传送门 JavaWeb_(Struts…
一.简介 拦截器体系是struts2重要的组成部分.正是大量的内建拦截器完成了该框架的大部分操作. 比如params拦截器将请求参数解析出来,设置Action的属性.servletConfig拦截器负责将request和response对象传给Action的等等 拦截器可以动态的拦截发送到指定Action的请求,通过拦截器机制,我们可以在Action执行的前后插入某些代码. 通过这种方式,就可以把多个Action中重复的代码提取出来,放在拦截器中,从而提高更好的代码复用性. 理解DRY规则 DR…
简单理解Struts2中拦截器与过滤器的区别及执行顺序 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标准的过滤器链 c) FilterDispatecher会去查找相应的ActionMapper,如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy d) ActionProxy将会通过ConfigurationManager来查找配置struts.xml       …
1.在Struts2自定义拦截器有三种方式: -->实现Interceptor接口 public class QLInterceptorAction implements Interceptor{ private static final long serialVersionUID = 1L; public void destroy() { } public void init() {} public String intercept(ActionInvocation arg0) throws…
1. 为什么需要拦截器 早期MVC框架将一些通用操作写死在核心控制器中,致使框架灵活性不足.可扩展性降低, Struts 2将核心功能放到多个拦截器中实现,拦截器可自由选择和组合,增强了灵活性,有利于系统的解耦. 2. 什么是拦截器 Struts 2大多数核心功能是通过拦截器实现的,每个拦截器完成某项功能 拦截器用于拦截那些请求action的请求,可以在请求目标前执行一些代码,也可以在请求目标执行完毕后再执行一段代码.一般用于权限控制等 2.1 拦截器栈 从结构上看,拦截器栈相当于多个拦截器的组…
1)拦截器是什么? 拦截器(Interceptor)是Struts2最强大的特性之一,它是一种可以让你在Action执行之前和Result执行之后进行一些功能处理的机制.来回顾一下官方给出的Struts2系统架构图中关于拦截器的部分,如下图所示: 这个图清晰的描述出了拦截器的运行地位,就是用来负责在Action执行之前和Result执行之后处理一些功能的类.也就是说,上图示意了有3个拦截器的类,分别是Interceptor1.Interceptor2和Interceptor3,它们分别执行不同的…
直接进入主题吧!一,配置Struts2的拦截器分两步走1配置对应的拦截器类:2在配置文件Struts.xml中进行配置拦截器同时在Strust2中配置拦截器类有三种方法1实现Interceptor接口2继承AbstractInterceptor3通过继承MethodFilterInterceptor类区别:是否支持方法过滤性:使用第1,2 种其实都差不多,都会拦截Action中所有的方法,但是第3种就不一样了,因为第3种支持方法过滤性,可以指定我们想要拦截的方法,(使用includeMethod…
套话 相信非常多人都用过 Struts2 了,当然,对 Struts2 的原理也都比較了解.之前在一个项目中就已经用到了,当初的理解也不过局限在应用的层面上,对于更深层次的原理.机制,了解的并非非常多.如今回过头来,再看 Struts2 的拦截器,相比之前的理解,又别有还有一番滋味. 理解 Struts2 的拦截器,英文名为 Interceptor ,至于为什么中文要翻译为拦截器,我想这一定是有原因的,肯定不是一拍脑门,就叫拦截器了(它必然有什么含义在里边).从字面的意思,就是在发送请求的时候,…
1.struts2能完成数据的设置,数据的封装,数据的类型转换,数据的校验等等.struts2是如何来完成这些功能的?struts2的所有功能都是由拦截器来完成的. 2.拦截器是struts2的核心.拦截器是一个类似于过滤器的类.在执行action的处理方法前会 先执行拦截器,然后再执行action的处理方法,然后再执行拦截器,再响应. 3. struts2的所有功能都是由拦截器来实现的,而拦截器在struts2中时可以自由配置和自由装配的.所以struts2的所有功能也都是可插拔的.并且str…
参考外链:http://www.ibm.com/developerworks/cn/java/j-lo-springaopfilter/ 1.首先,spring的AOP作用范围很广,可以使用Aspectj的execution表达式自定以切面的位置. 比如下面的配置service方法执行日志: <!-- 系统日志 --> <bean id="logUtils" class="com.tabchanj.crm.utils.SystemLogUtils"…
目录 一.在讲 paramsPrepareParamsStack 之前,先看一个增删改查的例子. 1. Dao.java准备数据和提供增删改查 2. Employee.java 为model 3. EmployeeAction 控制器 4. 页面的代码 emp-list.jsp 5. emp-edit.jsp页面 6 简化上面代码 二.struts2的 paramsPrepareParamsStack 拦截器 1. defaultStack拦截器栈 2. paramsPrepareParamsS…
实例功能:当用户登陆后,session超时后则返回到登陆页面重新登陆. 为了更好的实现此功能我们先将session失效时间设置的小点,这里我们设置成1分钟 修改web.xml view plaincopy to clipboardprint? <session-config>  <session-timeout>1</session-timeout>  </session-config>   <session-config> <sessio…
Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现. 拦截器栈(Interceptor Stack)类似于过滤器链.拦截器栈就是将拦截器按一定的顺序联结成一条链.在访问被拦截的方法或字段时,拦截器栈的拦截器就会按其之前定义的顺序被调用. Struts2的拦截器和Filter类似.在执行Action的execute方法之前,Struts2会首先执行在struts.xml中引用的拦截器,完成一系列…
Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现. 拦截器栈(Interceptor Stack)类似于过滤器链.拦截器栈就是将拦截器按一定的顺序联结成一条链.在访问被拦截的方法或字段时,拦截器栈的拦截器就会按其之前定义的顺序被调用. Struts2的拦截器和Filter类似.在执行Action的execute方法之前,Struts2会首先执行在struts.xml中引用的拦截器,完成一系列…
12.自定义拦截器        拦截器是Struts2的一个重要特性.因为Struts2的大多数核心功能都是通过拦截器实现的. 拦截器之所以称之为“拦截器”,是因为它可以拦截Action方法的执行, 即在Acton方法执行之前或之后执行,以加强Action方法的功能. 例如,一般情况下,用户在打开某个页面之前,需要先登录,否则是无法对资源进行访问的.这就是权限拦截器. 1.定义拦截器类 自定义的拦截器类需要实现拦截器接口com.opensymphony.xwork2.interceptor.I…
一.struts2文件上传 1.上传文件的时候要求必须使得表单的enctype属性设置为multipart/form-data,把它的method属性设置为post 2.上传单个文件的时候需要在Action类中添加属性并提供每个属性的标准get/set方法: private File uploadImage;//上传的文件 private String uploadImageContentType;//上传的文件类型 private String uploadImageFileName;//上传…
拦截器(Interceptor)是Struts 2的核心组件,Struts 2框架的大部分功能都是通过拦截器来完成的,例如数据校验,国际化,文件上传和下载等.为了实现这些功能,Struts 2框架提供了一个强大的拦截器策略. 拦截器是Struts 2框架中的重要组成部分,它是AOP(面向方向编程)思想的一种实现.使用拦截器给开发过程带来了很多好处:可以把大问题分解成多个小问题以便分别处理,同时可以使Action更专注于处理的事情,而把其他的一些相关功能分配给各个拦截器来进行处理. 在Struts…
ChainingInterceptor 该拦截器处于defaultStack第六的位置,其主要功能是复制值栈(ValueStack)中的所有对象的所有属性到当前正在执行的Action中,如果说ValueStack中没有任何对象的话,该拦截器不会干任何事情,看到这个拦截器的名称,大家应该会想到有一种chain类型的Result,该拦截器主要就是针对chain类型Result起作用的,因为我们有可能在chain链后面的Action用到前面Action的属性,所以struts2提供了该拦截器来实现这个…
版本:struts2.1.6 此实例实现功能:用户需要指定用户名登陆,登陆成功进入相应页面执行操作,否则返回到登陆页面进行登陆,当直接访问操作页面(登陆后才能访问的页面)时则不允许,须返回登陆页面. 代码如下: 一.页面 login.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC &quo…
版本号:struts2.1.6 这种情况下实现功能:用户需要指定username登陆,进入相应的页面运行成功登陆作战,否则,它返回到着陆的登录页面,当直接进入操作页面(登陆访问页面后的能力)如果不同意,必须返回到登陆页面. 码,如以下: 一.页面 login.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTM…
一,拦截器是什么? 拦截器是在Action执行之前和之后执行的代码,是一个类似于过滤器的类: 二,拦截器的作用 拦截器拦截Action的请求,在Action之前或之后实现某项功能: 三,拦截器的特点 拦截器自由组合,有很高的灵活性,扩展性,有利于系统解耦: 四,拦截器的应用场合 1,struts2的大部分功能都是拦截器完成的,如:接收用户输入,数据验证,实现上传,国际化 2,对action进行时间统计,权限控制等其它特定功能: 3,对action添加功能,使用拦截器,action不需更改 五,如…
一.拦截器概述 1.1 在struts2框架中封装了很多功能,struts2里面封装的功能都是在拦截器里面,struts2里面又很多拦截器,但不是每次这些拦截器都执行,每次执行型默认的拦截器. 默认拦截器的位置如下:     ------.>>>> 注:拦截器都是在action对象创建之后,方法执行之前进行执行的. 1.2拦截器的底层原理 拦截器底层使用了两个原理 第一个  AOP思想(简述):  就是面向切面编程,有基本功能,扩展功能,不通过修改源代码扩展功能. aop的图解:…
拦截器 概述 Interceptor (拦截器):起到拦截客户端对 Action 请求的作用. Filter:过滤器,过滤客户端向服务器发送的请求. Interceptor:拦截器,拦截的是客户端对 Action 的访问,是更细粒度化的拦截. Struts2 框架的核心功能都是通过拦截器实现. 自定义拦截器 编写拦截器类 编写一个类实现 Interceptor 接口或继承 AbstractInterceptor 类. package com.zze.interceptor; import com…