上一章笔者讲到关于struts2过滤器(Filter)的知识。让我们了解到StrutsPrepareFilter和StrutsExecuteFilter的作用。特别是StrutsPrepareFilter做了重要的讲解。从其中我们了解到Dispatcher类的重要性。而本章就是专对Dispatcher类的工作进行讲解。从前面章节的机制图片中我们橙黄色区里面看到FilterDispatcher。在笔者理解这里的FilterDispatcher相当于Dispatcher类的工作。那么到底Dispatcher类做了哪一些的工作呢?本章就是笔者就会详细的进行讲解。那么在讲解之前笔者还是有想把一些必要的知识说一下。从上一章中我们可以明白StrutsPrepareFilter类的主要工作有俩点:一是为struts2执行做一些相关的准备。如加载相关的配置信息。二是为struts2的request请求处理相关的信息。如设置编码格式和找到对应的action映射类。而这二点都离不开Dispatcher类的作用。甚至可以讲大部分都要靠Dispatcher类来完成。笔者很想把Dispatcher类的源码全部都POST上来。可是想到这样子读起来有一点吃力。所以笔者打算将来部分部分的POST上来进行讲解。
| 调结者的准备工作 |
在执行struts2之前必然要加载一些相关信息。如配置文件struts.xml之类。没有错。StrutsPrepareFilter就是通过Dispatcher类来完成这一系列的工作的(下面代码的红色部分)。让我们看一下Dispatcher类的代码就是能够明白。如下
StrutsPrepareFilte类:
1 public void init(FilterConfig filterConfig) throws ServletException { 2 InitOper

