- 浏览: 980071 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (223)
- JDBC技术 (29)
- Java Base (21)
- SSH框架的集合 (5)
- Javascript部分 (16)
- Sping2.5框架 (6)
- Hibernate框架 (19)
- JDBC中的数据库连接 (5)
- Ajax技术应用 (9)
- Java工具包下载 (3)
- Database (4)
- Java Web (13)
- 我的生活 (4)
- Struts2 (25)
- S2SH (1)
- Prototype (1)
- jfreeChart (5)
- JPA (7)
- JBPM (1)
- JasperReport (6)
- DWR (1)
- freeMark (2)
- IBatis (2)
- FCKeditor (2)
- POI (1)
- JQuery (6)
- JSON (1)
- JavaMail (3)
- Flex (2)
- CSS收藏夹 (1)
- 润乾报表 (2)
- 开源技术 (1)
- Android (2)
- Android_UI (1)
- Android_OS (6)
- Android_OpenLibs (3)
- Volley (1)
- JS_OpenLibs (1)
- Hessian (3)
- OS (1)
最新评论
-
damoluomu:
简单易懂
Java Web开发Session超时设置 -
di1984HIT:
学习了~~~~~~
Java Web开发Session超时设置 -
lord_is_layuping:
...
Java Web开发Session超时设置 -
15111285554:
...
Java Web开发Session超时设置 -
sfg1314:
暂停后重新下载就会报错:ClientAbortExceptio ...
Java Web 文件下载之断点续传
第一步:创建目标对象的接口
/**
* 目标对象的接口 JDK的动态代理要求目标对象必须实现一个接口
*
* @author 张明学
*
*/
public interface TargetInter {
public void doSomething();
}
第二步: 实现接口创建目标对象
/**
* 目标对象
*
* @author 张明学
*
*/
public class Target implements TargetInter {
public void doSomething() {
System.out.println("目标对象的方法执行!");
}
}
第三步:创建我们的拦截器对象
/**
* 拦截器对象
*
* @author 张明学
*
*/
public class Interceptor {
public void before() {
System.out.println("before方法执行!");
}
public void after() {
System.out.println("after方法执行!");
}
}
第四步:创建我们的处理器
/**
* 处理器类 JDK代理要求实现java.lang.reflect.InvocationHandler接口
*
* @author 张明学
*
*/
public class MyHandler implements InvocationHandler {
/**
* 目标对象
*/
private Object target;
public void setTarget(Object target) {
this.target = target;
}
/**
* 拦截器对象
*/
private Interceptor interceptor = new Interceptor();
/**
* invoke为真正执行的方法
*/
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
Object result = null;
interceptor.before();
result = method.invoke(target, args);
interceptor.after();
return result;
}
}
第五步:创建代理对象
/**
* 代理对象
*
* @author 张明学
*
*/
public class MyProxy {
/**
* 得到对象的实例
* @param obj
* @return
*/
public Object getProxy(Object obj) {
MyHandler myHandler = new MyHandler();
myHandler.setTarget(obj);
/**
* 第一个参数:得到目标对象的class对象的ClassLoader
* 第二个参数:目标对象所实现的接口数组
* 第三个参数:真正执行的对象(处理器)
*/
return Proxy.newProxyInstance(Target.class.getClassLoader(), obj
.getClass().getInterfaces(), myHandler);
}
}
测试:
public class MyTest {
public static void main(String[] args) {
TargetInter targer = new Target();
MyProxy myProxy = new MyProxy();
/**
* 得到代理
*/
TargetInter proxy = (TargetInter) myProxy.getProxy(targer);
proxy.doSomething();
}
}
- Struts2_6.rar (5.9 KB)
- 描述: Struts2拦截器原理分析实例
- 下载次数: 31
发表评论
-
Struts2 + JasperReport应用二:jasperReport Web形式打印
2010-02-02 16:16 5230将jasperReport设计文件和编译文件放到webRoot ... -
Struts2 + JasperReport应用一:导PDF,Excel,HTML显示
2010-01-29 16:34 9832我用的是struts2.1.6,从struts2的自带的dem ... -
Struts2 标签使用简介
2009-12-23 19:33 2612web.xml配置如下: <fil ... -
Struts2 的OGNL使用简介
2009-12-22 13:25 2317<div align="center" ... -
POI与Struts2的使用 poi-2.5.1.jar
2009-09-25 17:43 4849一.POI 简介 Jakarta POI 是apache的子项 ... -
jFreeChart与Struts2的组合,将jFreeChart作为显示视图
2009-09-25 16:26 1453jFreeChart与Struts2的组合: 一,加 ... -
Struts2与Spring2.0的组合
2009-09-09 09:46 1013Struts2与Spring的集成: 一,加入Str ... -
Struts2的异常处理
2009-09-07 13:41 1347Struts2的异常处理: 1,定义自己的异常信息类:继承Ex ... -
Struts2.0深入学习 Strust2与Servlet API,Action多方法调用,result标签的type的类型
2009-09-06 11:08 4404Struts2深入探索: 1,package中的ab ... -
Struts2.0深入学习 命名空间,模型驱动,表单重复提交
2009-09-06 11:04 1834Struts2深入探索: 1,package中的ab ... -
Struts2国际化详解
2009-09-03 15:32 2685Struts2国际化: 1,国际 ... -
Struts2文件下载
2009-09-02 20:09 10575Struts2文件下载: Struts2文件下载对应将一个In ... -
设置Struts2文件上传的类型和大小
2009-09-02 20:09 5186设置Struts2文件上传的类型和大小: 在struts. ... -
Struts2多文件上传
2009-09-02 20:08 2423Struts2多文件上传: 在Action中配置三个属性: p ... -
Struts2文件上传详解
2009-08-31 17:27 2351Struts2文件上传: 一:请选参看Struts2_9中的S ... -
Struts2.0文件上传原理
2009-08-31 13:12 3037Struts2文件上传默认采用apache的文件上传的包,新建 ... -
Struts2的监听器的使用
2009-08-25 19:02 2498Struts2的监听器: 一,建立监听器: ... -
Struts2的拦截器的使用详解
2009-08-25 18:59 2343Struts2的拦截器: 一,拦截器的使用: ... -
Struts2的检证框架详解
2009-08-25 13:00 2410Struts2的检证框架: 一,根据字段校验(为每一 ... -
Struts2的Action多个方法配置和验证
2009-08-18 20:16 4750Struts2的Action多个方法配置和验证: 1 ...
相关推荐
参考博文:http://blog.csdn.net/u011638419/article/details/41510483
参考博文:http://blog.csdn.net/u011638419/article/details/41592837
主要介绍了Struts2中对未登录jsp页面进行拦截功能的实现,在演示源码的同时对步骤和原理进行了分析,具有一定参考价值,需要得朋友可以了解下。
SpringMVC笔记内容:第一天(SpringMVC的概述、SpringMVC与Struts2优势分析、重要组件、运行原理、SpringMVC环境搭建、@RequestMapping注解详解、字符编码过滤器、传参形式(基本数据类型或String、对象类型、对象....
6.1.2拦截器及拦截器栈的应用 111 6.1.3自定义拦截器 115 6.2类型转换器 117 6.2.1struts2内置类型转换器 117 6.2.2引用类型的转换方式 117 6.2.3特殊对象的类型转换 118 6.2.4类型转换的错误处理 121 6.3...
Struts2框架介绍、工作原理与架构分析、6大配置文件分析使用通配符定义action、动态方法调用,ActionContext及ServletActionContext使用,模型驱动、属性驱动,默认转换器的介绍,中的表单校验,中的国际化,文件...
124 8.5.2 拦截器的实现原理 124 8.5.3 Struts2的内置拦截器 124 8.5.4 拦截器的配置和使用 125 8.5.5 自定义拦截器 126 8.6 一个简单的Struts2应用 130 8.7 小结 140 第9章 JSF 141 9.1 JSF技术简介 141 9.1.1 JSF...
此视频包含:springmvc入门教程(原理分析、环境搭建、前端控制器配置、Handler编写调试、非注解映射器和适配器、注解映射器和适配器、前端控制器源代码分析、视图解析器配置前缀和后缀);springmvc和mybatis整合;...
17.6 商业银行网上账户管理系统具体实现——工具类、校验器及拦截器 17.7小结 第18章 hibernate分页系统(hibernate 3.0) 18.1 hibernate分页系统原理 18.2 封装javabean的commons-beanutils组件 18.3...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。因为Struts 2和Struts 1有着太大的变化,...
8.2.3 Struts配置文件编辑器 124 8.3 Struts应用实例:登录系统 125 8.4 本章小结 133 第9章 Hibernate框架的开发及应用 134 9.1 Hibernate框架概述 134 9.1.1 O/R Mapping(对象/关系映射)技术 134 9.1.2 ...
│ Java面试题49.Struts2的拦截器是什么?你都用它干什么?.mp4 │ Java面试题50.Spring MVC的执行流程.mp4 │ Java面试题51.SpringMVC和Struts2的不同.mp4 │ Java面试题52.简单介绍一下Spring或者Spring的两大核心...
2.2. SpringExt原理 ......................................................................................... 16 2.2.1. XML Schema中的秘密 ...............................................................