在这个方法内部调用的是disoatcher.serviceAction();
在这个方法的内部创建了一个Action的代理,
最终执行的是Action的代理当中execute();
**在这个代理中执行execute()方法中调用ActionInvocation的invoke方法。
在这个方法的内部递归执行一组拦截器(完成部分功能),
如果没有下一个拦截器,就会执行目标Action,
根据Action返回的结果来进行页面的跳转。**
1、搭建Struts2的环境
web.xml
2、编写拦截器的类
编写一个类实现interceptor接口或者继承AbstractInterceptor类。
(1)自定义拦截器一:继承AbstractInterceptor类
编写两个拦截器
/*
- 自定义拦截器一
*/
public class InterceptorDemo1 extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
// TODO Auto-generated method stub
System.out.println(“InterceptorDemo1执行了。。。。。”);
String obj = invocation.invoke();
System.out.println(“InterceptorDemo1执行结束了”);
return obj;
}
}
/*
- 自定义拦截器一
*/
public class InterceptorDemo2 extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
// TODO Auto-generated method stub
System.out.println(“InterceptorDemo2执行了。。。。。”);
String obj = invocation.invoke();
System.out.println(“InterceptorDemo2执行结束了”);
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
最新整理面试题
上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题
最新整理电子书
最新整理大厂面试文档
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
.(img-RWr2md9q-1719176542260)]
最新整理大厂面试文档
[外链图片转存中…(img-B0n9JoPZ-1719176542261)]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。