ActionServlet

ActionServlet

ActionServlet類是Struts框架的內置核心控制器組件,它繼承了javax. servlet.http.HttpServlet類,Struts的啟動一般從載入ActionServlet開始,因此它在MVC模型中扮演中央控制器的角色。在Struts中,它的主要作用是用來接收用戶的請求信息,然後根據系統配置要求將請求傳遞給相應的Action對象.

簡介

Struts提供了一個預設版本的ActionServlet類,你可以繼承這個類,覆蓋其中的一些方法來達到你的特殊處理的需要。ActionServlet繼承與javax.servlet.http.HttpServlet,所以在本質上它和一個普通的servlet沒有區別,你完全可以把它當做一個servlet來看待,只是在其中完成的功能不同罷了。

主要功能

1)、將一個來自客戶端的URI映射到一個相應的Action
•如果是這個Action類是第一次被調用,那么實例化一個並放入快取
•如果在配置檔案(struts-config.xml)中指定了相應的ActionForm,那么從Request中抓取數據填充FormBean
•調用這個Action類的perform()方法,傳入ActionMapping的一個引用,對應的ActionForm、以及由容器傳給ActionServlet的HttpServletRequestHttpServletResponse對象。
2)、預設版本的ActionServlet會從配置檔案web.xml中讀取如下初始化參數:
•application
套用使用的資源包(resourcesbundle)的基類
•factory
用於創建套用的MessageResources對象的MessageResourcesFactory的類名。預設是org.apache.struts.util.PropertyMessageResourcesFactory。
•config
Struts的配置檔案,預設是/WEB-INF/struts-config.xml。注意這兒是與套用Context關聯的相對路徑。
•content
定義了預設的內容類型和編碼格式,它會被自動地被設定到每個response中,如果JSP/Servlet中沒有明確的設定。預設是text/html。
•debug
調試信息的級別。默認為0,比當前級別高的調試信息會被log到日誌檔案中。
•detail
與debug的作用類似,只是這個detail是initMapping()時專用的。調試信息會被列印到System.out,而不是日誌檔案。
•formBean
ActionFormBean的實現類,預設為org.apache.struts.action.ActionFormBean
•forward
套用中使用的ActionForward類,預設是org.apache.struts.action.ActionForward。
•locale
指定了確省使用的Locale對象。設為true,當得到一個session時,會自動在session中存儲一個以Action.LOCALE_KEY標示的Locale對象,如果session中還沒有與Action.LOCALE_KEY綁定的Locale對象。
•mapping
套用中使用的ActionMapping類,預設是org.apache.struts.action.ActionMapping。
•multipartClass
檔案上傳使用的MutipartRequestHandler的實現類。預設為org.apache.struts.upload.DiskMultipartRequestHandler
•nocache
如果設為true,那么ActionServlet會自動在每個到客戶端的回響中添加nocache的HTML頭,這樣客戶端就不會對套用中的頁面進行快取。預設為false
•null
如果設定為true,那么套用在得到一個未定義的message資源時,會返回null,而不是返回一個錯誤信息。預設是true。
•maxFileSize
檔案上傳的大小上限,預設為250M
•bufferSize
檔案上傳時的緩衝區的大小,預設為4M
•tempDir
設定用於上傳時的臨時目錄。工作目錄會作為一個Servlet環境(Context)的屬性提供。
•validate
Areweusingthenewconfigurationfileformat,預設為true。
•validating
在解析配置XML檔案是是否進行有效性的驗證,預設為true

調用jsp的過程

ActionServlet調用jsp的過程ActionServlet調用jsp的過程

相關詞條

相關搜尋

熱門詞條

聯絡我們