你是否正在寻找关于filterdispatcher的内容?让我把最吸引人的东西奉献给你:

Dispatcher已经在之前讲过,这就好办了。filterdispatcher是Struts2的核心控制器,首先看一下init()方法,。
现在回去doFilter的方法,每当有一个Request,都会调用这些Filters的doFilter方法
从代码中看出,getMapping()方法返回ActionMapping类型的对象,该对象包含三个参数:Action的name、namespace和要调用的方法method。
如果getMapping()方法返回ActionMapping对象为null,则FilterDispatcher认为用户请求不是Action,
自然另当别论,filterdispatcher会做一件非常有意思的事:如果请求以/struts开头,会自动查找在web.xml文件中配置的
packages初始化参数,就像下面这样(注意粗斜体部分):
filterdispatcher会将com.lizanhong.action包下的文件当作静态资源处理,即直接在页面上显示文件内容,不过会忽
略扩展名为class的文件。比如在com.lizanhong.action包下有一个aaa.txt的文本文件,其内容为“中华人民共和国”,访问 :8081/Struts2Demo/struts/aaa.txt
时会输出txt中的内容
filterdispatcher.findStaticResource()方法
如果用户请求的资源不是以/struts开头——可能是.jsp文件,也可能是.html文件,则通过过滤器链继续往下传送,直到到达请求的资源为止。
如
果getMapping()方法返回有效的ActionMapping对象,则被认为正在请求某个Action,将调用
Dispatcher.serviceAction(request, response, servletContext,
mapping)方法,该方法是处理Action的关键所在。
下面就来看serviceAction,这又回到全局变量dispatcher中了
以上就是关于filterdispatcher的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-8988-1.html
强行驱离
打吧