1700484630
String path=(String)req.getRequestURI();
1700484631
1700484632
String actionName=path.substring(path.lastIndexOf(”/”)+1,
1700484633
1700484634
path.lastIndexOf(”.”));
1700484635
1700484636
return actionName;
1700484637
1700484638
}
1700484639
1700484640
}
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
[
上一页 ]
[ :1.70048463e+09 ]
[
下一页 ]