- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java web应用实验报告
Application and Techenology of Multimdia Experiment Report
学生所在学院: 燕山大学里仁学院
学生所在班级: 08计算机5班 _
学 生 姓 名: 高 湛
学 号: 081304011151
指 导 教 师:
教 务 处
2011年 11 月
实验一 struts实现拦截器
实验目的
了解拦截器的原理实现,他的内容,运用的反射机制及配置.
实验原理
Web项目中,客户须先在视图界面提交一个HTTP请求,在Struts2的ServeletDispatcher接受请求时,Struts2会查找配置文件,入Strust.xml文件.根据xml文件中定义的拦截器配置,去调用拦截.如果配置了拦截器栈,则根据拦截器在拦截器栈中得前后顺序,意义进行调用.
实验步骤
1 定义拦截器类和被拦截类内容.
2 运用反射机制调用类和类方法.
3 设置拦截器处理类,配置拦截器在合适执行以及拦截器类和被拦截类执行的先后顺序.
4 测试程序运行结果显示拦截功能正常执行情况.
主要代码及说明
功能执行类:
ackage erceptor;
//执行功能类
public class ExecuteFunction implements ExecuteFunctionInterface {
//执行功能类执行方法
public void execute() {
System.out.println(execute something...);
}
}
功能执行接口:
package erceptor;
//执行功能接口
public interface ExecuteFunctionInterface {
public void execute();
}
拦截器类:
package erceptor;
//拦截器类
public class Interceptor {
//拦截执行功能类之前执行方法
public void beforeDoing(){
System.out.println(before doing Something...);
}
//拦截执行功能类之后执行方法
public void afterDoing(){
System.out.println(after doing Something...);
}
}
拦截器处理类:
package erceptor;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
//拦截器处理类
public class InterceptorHandler implements InvocationHandler {
private Object object;
private Interceptor inter = new Interceptor();
//设置需要拦截的执行功能类
public void setObject(Object object) {
this.object = object;
}
//接口invoke方法,proxy是代理实例,method是实例方法,args是代理类传入的方法参数。
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
inter.beforeDoing();
//object提供该方法的类实例,args是调用方法所需的参数值的数组
Object returnObject = method.invoke(object, args);
inter.afterDoing();
return returnObject;
}
}
代理对象类:
package erceptor;
import java.lang.reflect.Proxy;
public class ProxyObject {
private InterceptorHandler handler = new InterceptorHandler();
//得到执行类的代理对象实例
public Ob
您可能关注的文档
最近下载
- 第二版--医学伦理学经典案例分析100.pdf VIP
- fanuc发那科机器人编程手册.pptx VIP
- 2025年华医网继续教育“痔”的精准微创治疗技术题库及答案.docx VIP
- 大疆无人机御3航拍摄影与后期从入门到精通第9章 焦点跟随:无人机自动跟随拍大片.pptx VIP
- 计算机应用基础教程(Windows10+Office2016)PPT全套完整教学课件.pptx VIP
- 2025年交管学法减分考试题库以及答案(160题完整版) .pdf VIP
- 施工人员入场安全教育手册(一人一档).doc VIP
- 美的热水器F80- A20GA2(H)专项试验报告.pdf VIP
- 大学生创业生涯规划书.pdf VIP
- 人教版(2025)八年级上册14.2三角形全等的判定(课时1)(教学课件)(32张PPT)(含音频+视频).pptx VIP
原创力文档


文档评论(0)