1700484641
1700484642
我们按照系统的执行顺序来讲解,首先在容器的配置文件中需要配置该过滤器,以tomcat为例,配置如代码清单38-2所示。
1700484643
1700484644
代码清单38-2 核心控制器的配置
1700484645
1700484646
<?xml version=“1.0”encoding=“UTF-8”?>
1700484647
1700484648
<web-app>
1700484649
1700484650
<filter>
1700484651
1700484652
<display-name>FilterDispatcher</display-name>
1700484653
1700484654
<filter-name>FilterDispatcher</filter-name>
1700484655
1700484656
<filter-class>{包名}.FilterDispatcher</filter-class>
1700484657
1700484658
</filter>
1700484659
1700484660
<filter-mapping>
1700484661
1700484662
<filter-name>FilterDispatcher</filter-name>
1700484663
1700484664
<url-pattern>*.do</url-pattern>
1700484665
1700484666
</filter-mapping>
1700484667
1700484668
</web-app>
1700484669
1700484670
在这里定义了对所有以.do结尾的请求进行拦截,拦截后由FilterDispatcher的doFilter方法处理。过滤器是在启动时自动初始化,初始化完毕后立刻调用inti方法,在init方法中我们做了两件事情:
1700484671
1700484672
❑检查XML配置文件
1700484673
1700484674
所有的Action与视图的对应关系是在配置文件中配置的,因此若配置文件出错,该应用应该停止响应,这就需要在启动时对XML文件进行完整性检查和语法分析。
1700484675
1700484676
❑启动监视器
1700484677
1700484678
配置文件随时都可以修改,但是它修改后不应该需要重新启动应用才能生效,否则对系统的正常运行有非常大的影响,因此这里要使用到Listener(监听)行为了。
1700484679
1700484680
init方法需要做的这两件事情是非常重要的,而且都还包含了几种不同的设计模式。首先我们来看检查XML配置文件如何实现。先看我们定义的XML格式(框架中应该定义一个DTD文件,XML文件的模板,读者可以自行实现),如代码清单38-3所示。
1700484681
1700484682
代码清单38-3 XML配置文件
1700484683
1700484684
<?xml version=“1.0”encoding=“UTF-8”?>
1700484685
1700484686
<mvc>
1700484687
1700484688
<action name=“loginAction”class=”{类名全路径}“method=“execute”>
1700484689
1700484690
<result name=“success”>/index2.jsp</result>
[
上一页 ]
[ :1.700484641e+09 ]
[
下一页 ]