1. 在struts1.x 系列中,所有的請求是通過一個servlet(ActionServlet)來管理控制的,在Struts2.X而是經(jīng)過一個Filter 來處理請求的。Struts 2將核心控制器設(shè)計成Filter,而不是一個普通Servlet。因為設(shè)計者為了實現(xiàn)AOP(面向方面 編程)概念.
struts1.x中
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
。。。
< /servlet>
Struts2.X中
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern></filter-mapping>
2.Struts 2框架由3個部分組成:核心控制器FilterDispatcher、業(yè)務控制器和用戶實現(xiàn)的業(yè)務邏輯組件。在這3個部分里,Struts 2框架提供了核心控制器FilterDispatcher,而用戶需要實現(xiàn)業(yè)務控制器和業(yè)務邏輯組件。
核心控制器:FilterDispatcher
FilterDispatcher是Struts 2框架的核心控制器,該控制器作為一個Filter運行在Web應用中,它負責攔截所有的用戶請求,當用戶請求到達時,該Filter會過濾用戶請求。如果用戶請求以action結(jié)尾,該請求將被轉(zhuǎn)入Struts 2框架處理。