課時9設計模式
StrutsPrepareAndExecuteFilter是Struts 2框架的核心控制器,它負責攔截由<url-pattern>/*</url-pattern>指定的全部用戶請求,當用戶請求到達時,該Filter會過濾用戶的請求。默認狀況下,若是用戶請求的路徑不帶後綴或者後綴以.action結尾,這時請求將被轉入Struts 2框架處理,不然Struts 2框架將略過該請求的處理。當請求轉入Struts 2框架處理時會先通過一系列的攔截器,而後再到Action。緩存
與Struts1不一樣,Struts2對用戶的每一次請求都會建立一個Action,因此Struts2中的Action是線程安全的。Struts1中,Action被建立並放入緩存,每次請求都從換從中獲取Action處理請求(單例設計模式)。安全
課時10框架
在大部分應用裏,隨着應用規模的增長,系統中Action的數量也會大量增長,致使struts.xml配置文件變得很是臃腫。爲了不struts.xml文件過於龐大、臃腫,提升struts.xml文件的可讀性,咱們能夠將一個struts.xml配置文件分解成多個配置文件,而後在struts.xml文件中包含其餘配置文件。下面的struts.xml經過<include>元素指定多個配置文件:url
1 <include file="student.xml"></include> 2 <include file="teacher.xml"></include>
每一個文件中,package名惟一。spa