Struts2的拦截器----Dog实例】的更多相关文章

拦截器是一个类,这个类包含方法,用来解决DRY规则,即代码复用的问题.如果不调用拦截器,代码中需要显示通过代码调用目标方法,定义了拦截器,系统就会自动执行.大部分时候,拦截器方法都是通过代理的方式调用的. 例子:动态代理 Dog.java 1: package cc.openhome; 2: public interface Dog { 3: //方法的声明 4: public void info(); 5: public void run(); 6: } 7: DogImg.java 1: p…
比如一个网上论坛过滤系统,将网友发表的不文明.不和谐的语言,通过拦截器对这些文字进行自动替代. 该项目包含: 1.自定义拦截器(MyInterceptor.java) 2.发表评论的页面(news.jsp) 3.对应的业务控制器(PublicAction.java) 4.业务控制器控制其跳转到success.jsp 代码如下: 1.自定义拦截器(MyInterceptor.java) package interceptor; import com.opensymphony.xwork2.Acti…
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…
拦截器介绍 拦截器 的使用 ,源自Spring AOP(面向切面编程)思想 拦截器 采用 责任链 模式 * 在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链. * 责任链每一个节点,都可以继续调用下一个节点,也可以阻止流程继续执行 在struts2 中可以定义很多个拦截器,将多个拦截器按照特定顺序 组成拦截器栈 (顺序调用 栈中的每一个拦截器 ) 1. struts2 所有拦截器 都必须实现 Interceptor 接口 2. AbstractInterceptor 类实现…
套话 相信非常多人都用过 Struts2 了,当然,对 Struts2 的原理也都比較了解.之前在一个项目中就已经用到了,当初的理解也不过局限在应用的层面上,对于更深层次的原理.机制,了解的并非非常多.如今回过头来,再看 Struts2 的拦截器,相比之前的理解,又别有还有一番滋味. 理解 Struts2 的拦截器,英文名为 Interceptor ,至于为什么中文要翻译为拦截器,我想这一定是有原因的,肯定不是一拍脑门,就叫拦截器了(它必然有什么含义在里边).从字面的意思,就是在发送请求的时候,…
简单理解Struts2中拦截器与过滤器的区别及执行顺序 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标准的过滤器链 c) FilterDispatecher会去查找相应的ActionMapper,如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy d) ActionProxy将会通过ConfigurationManager来查找配置struts.xml       …
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…
2. Struts2的拦截器(使用拦截器实现权限控制) 2.1 拦截器的概述 拦截器是Struts2的核心组成部分,它可以动态的拦截Action调用的对象,类似与Servlet中的过滤器.Struts2的拦截器是AOP(Aspect-Object-Programming,面向切面编程)的一种实现策略,是可插拔的,需要某一个功能时就“插入”这个功能的拦截器,不需要这个功能就“拔出”拦截器.开发者只需要提供拦截器的实现类,并将其配置在Struts.xml中即可. 2.1.2 拦截器的工作原理 通常情…
直接进入主题吧!一,配置Struts2的拦截器分两步走1配置对应的拦截器类:2在配置文件Struts.xml中进行配置拦截器同时在Strust2中配置拦截器类有三种方法1实现Interceptor接口2继承AbstractInterceptor3通过继承MethodFilterInterceptor类区别:是否支持方法过滤性:使用第1,2 种其实都差不多,都会拦截Action中所有的方法,但是第3种就不一样了,因为第3种支持方法过滤性,可以指定我们想要拦截的方法,(使用includeMethod…
前言 前面提到过拦截器.而且说拦截器仅仅能拦截Action.这里拦截器的调用体现了责任链模式.为什么说体现了责任链模式呢? 以下的一段话说的非常明确: Struts2将整个运行划分成若干同样类型的元素,每一个元素具备不同的逻辑责任,并将它们纳入到一个链式的数据结构中.而每一个元素又有责任负责链式结构中下一个元素的运行调用. 从代码重构的角度来看,实际上是将一个复杂的系统,分而治之.从而使得每一个部分的逻辑可以高度重用并具备高度可扩展性. 拦截器的原理 Struts2框架的拦截器是动态配置的,假设…
1.struts2能完成数据的设置,数据的封装,数据的类型转换,数据的校验等等.struts2是如何来完成这些功能的?struts2的所有功能都是由拦截器来完成的. 2.拦截器是struts2的核心.拦截器是一个类似于过滤器的类.在执行action的处理方法前会 先执行拦截器,然后再执行action的处理方法,然后再执行拦截器,再响应. 3. struts2的所有功能都是由拦截器来实现的,而拦截器在struts2中时可以自由配置和自由装配的.所以struts2的所有功能也都是可插拔的.并且str…
实例功能:当用户登陆后,session超时后则返回到登陆页面重新登陆. 为了更好的实现此功能我们先将session失效时间设置的小点,这里我们设置成1分钟 修改web.xml view plaincopy to clipboardprint? <session-config>  <session-timeout>1</session-timeout>  </session-config>   <session-config> <sessio…
一.简介 拦截器体系是struts2重要的组成部分.正是大量的内建拦截器完成了该框架的大部分操作. 比如params拦截器将请求参数解析出来,设置Action的属性.servletConfig拦截器负责将request和response对象传给Action的等等 拦截器可以动态的拦截发送到指定Action的请求,通过拦截器机制,我们可以在Action执行的前后插入某些代码. 通过这种方式,就可以把多个Action中重复的代码提取出来,放在拦截器中,从而提高更好的代码复用性. 理解DRY规则 DR…
一.Struts2的系统结构图…
1. 为什么需要拦截器 早期MVC框架将一些通用操作写死在核心控制器中,致使框架灵活性不足.可扩展性降低, Struts 2将核心功能放到多个拦截器中实现,拦截器可自由选择和组合,增强了灵活性,有利于系统的解耦. 2. 什么是拦截器 Struts 2大多数核心功能是通过拦截器实现的,每个拦截器完成某项功能 拦截器用于拦截那些请求action的请求,可以在请求目标前执行一些代码,也可以在请求目标执行完毕后再执行一段代码.一般用于权限控制等 2.1 拦截器栈 从结构上看,拦截器栈相当于多个拦截器的组…
1)拦截器是什么? 拦截器(Interceptor)是Struts2最强大的特性之一,它是一种可以让你在Action执行之前和Result执行之后进行一些功能处理的机制.来回顾一下官方给出的Struts2系统架构图中关于拦截器的部分,如下图所示: 这个图清晰的描述出了拦截器的运行地位,就是用来负责在Action执行之前和Result执行之后处理一些功能的类.也就是说,上图示意了有3个拦截器的类,分别是Interceptor1.Interceptor2和Interceptor3,它们分别执行不同的…
http://blog.csdn.net/yerenyuan_pku/article/details/68648101 Struts2的拦截器 拦截器的概述 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作.拦截是AOP的一种实现策略. 在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象.它提供了一种机制可以使开发者可以定义在一个Action执行的前后执行的代码,也可以在一个…
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核心配置.动态方法调用.结果集的处理 传送门 JavaWeb_(Struts2框架)Log4j的配置以及解决中文乱码 传送门 JavaWeb_(Struts2框架)参数传递之接收参数与传递参数 传送门 JavaWeb_(Struts2框架)Ognl小案例查询帖子 传送门 JavaWeb_(Struts…
参考外链: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…
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中引用的拦截器,完成一系列…
版本: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…
拦截器是struts2的核心.拦截器可以拦截请求,控制视图的走向.那么怎么来实现自定义的拦截器呢? 这里我们做一个例子. 首先假现在做了两个jsp页面一个是登陆的信息的(用session来模拟),一个是没有登陆的信息的. 有登陆信息的叫login.Jsp <%request.getSession().setAttribute("sess","fish" ) ;%> 用户已登录 没有登陆信息的叫做 Quit.JSP <%request.getSess…
实现一个登陆权限验证的功能 message.jsp: <body> message:${message } </body> login.jsp: <% request.getSession().setAttribute("user", "tom"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html…
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;//上传…
自定义拦截器(权限管理),包含了对ajax和表单请求的拦截 package com.interceptor; import java.io.IOException; import java.io.PrintWriter; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts…