在这个方法当中,调用executeAction()方法,
在这个方法内部调用的是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();
分享
首先分享一份学习大纲,内容较多,涵盖了互联网行业所有的流行以及核心技术,以截图形式分享:
(亿级流量性能调优实战+一线大厂分布式实战+架构师筑基必备技能+设计思想开源框架解读+性能直线提升架构技术+高效存储让项目性能起飞+分布式扩展到微服务架构…实在是太多了)
其次分享一些技术知识,以截图形式分享一部分:
Tomcat架构解析:
算法训练+高分宝典:
Spring Cloud+Docker微服务实战:
最后分享一波面试资料:
切莫死记硬背,小心面试官直接让你出门右拐
1000道互联网Java面试题:
Java高级架构面试知识整理:
小心面试官直接让你出门右拐
1000道互联网Java面试题:
[外链图片转存中…(img-38zadb6x-1719176492843)]
Java高级架构面试知识整理:
[外链图片转存中…(img-ys1LOUH7-1719176492844)]