Struts框架的核心是一個基於MVC模型的控制器,這個核心控制器就是ActionServlet,ActionServlet將模型層和視圖層分離。
一、ActionServlet的主要功能:
(1) 接收用戶的請求;
(2) 根據不同的用戶請求,調用不同的Action進行處理。
(3) 從模型層(如果需要)獲得處理後的數據並傳給相應的視圖層。
(4) 選擇合適的視圖進行響應,並且顯示給用戶
ActionServlet是Struts框架提供的一個Servlet,繼承了HttpServlet,使用<servlet>元素註冊(web.xml中)
二、init()方法
由Servlet的生命週期可以知道,當服務器加載了Actionservlet後,首先執行的時init()方法進行初始化工作。
(1) initInternal():初始化struts框架內在的消息資源,如與系統日誌相關的通知、警告和錯誤信息。
(2) initOther():從web.xml文件中加載ActionServlet的初始化參數
(3) initServlet():從web.xml文件中加載ActionServlet的URL映射信息。此外還會註冊web.xml和struts配置文件所使用的DTD文件,這些DTD文件用來驗證web.xml和struts配置文件的語法
(4) initModuleConfig():加載並解析默認應用模塊的struts配置文件;創建ModuleConfig對象,把它存在ServletContext中
(5) intiModuleMessageResources():加載並初始化默認應用模塊的消息資源,創建MessageResources對象,把它存在ServletContext中
(6) initModuleDataSources()方法:加載並初始化默認應用模塊的數據源。如果沒有在struts配置文件中沒有定義<data-sources>元素,就忽略這一流程
(7) initModulePlugins():加載並初始化默認應用模塊的所有插件