為了不侵犯別人的版權,因此我就不提供下載的文件了,大家可以直接去對方網站下載,這本書寫得不錯,值得推薦。大家可以自己去網上找找看。
http://www.caterpillar.onlyfun.net/Gossip/index.html
1. Struts核心
1.1. 什么是Struts?
1.2. Struts基本運作流程
Controller: org.apache.struts.action.ActionServlet/ javax.servlet.http.HttpServlet
?理想收客戶不會直接請求資源或相關JSP頁面,所有的客戶請求都必須傳送到控制器,由控制器決定轉發給哪個對象處理、哪個頁面回應。
View: 靜態網頁、JSP網頁、Struts自定義標簽。
1.5. ActionMapping: struts-config.xml的<action-mappings>標簽用來描述一組ActionMapping對象。客戶請求至ActionServlet時,ActionSerlvet查看相應的ActionMapping,ActionMapping回復應該使用哪個Action對象,ActionServlet再將控制轉移至Action對象。
1.6. Action: 調用execute()。通常工作包括:驗證使用者進程狀態;進一步驗證表單對象的信息;更新應用程序中對象的狀態;處理客戶端的請求;返回ActionForward給ActionServlet。
1.7. ActionForm: 是表單的對象化,就是一個JavaBean。表單項目的對應;數據緩存;數據驗證;屬性轉換;程序安全控制。
1.8. ActionError或ActionMessage: 表單的validate()。表示驗證不通過的數據,會在JSP頁面中進行表示。
1.9. DynaActionForm: 避免為每個表單寫代碼,在XML中定義,由系統自動生成。但是會造成struts-config.xml過長,系統性能下降。
1.10. Map-backed ActionForm: 由程序代碼生成的表單內容。(這個沒搞懂用途)
1.11. 協同開發:可以拆分struts-config.xml文件為多個,從而協同開發時不會沖突。
1.12. 異常處理:使用Struts默認的異常處理;使用自定義全局異常處理;為每個Action提供用戶自定義異常處理。
1.13. 從ActionServlet到RequestProcessor:可以跟蹤或者自定義Controller。
1.14. ForwardAction、IncludeAction、SwitchAction:(這個沒搞懂用途)
1.15. 使用DispatchAction類:可以為Action進行函數級別的定義,減少了Action的數量。
1.16. 使用LookupAction類:與DispatchAction一樣可以用參數定義Action進行函數級別的定義,還增加了通過value查詢對應的函數。(y這個地方還需要再詳細描述)
1.17. PlugIn接口:用來擴展ActionServlet功能,使初始化函數不用在代碼中固定,只需要在struts-config.xml中定義就可以,Tiles與Validator就是這樣擴充的。
2. Struts Tag
2.1 Struts Html Tag快速參考:<html:html/>, <html:base/>, <html:link/>, <html:img/>, <html:errors/>, <html:messages/>, <html:button/>, <html:form/>, <html:submit/>, <html:reset/>, <html:cancel/>, <html:text/>, <html:password/>, <html:hidden/>, <html:textarea/>, <html:radio/>, <html:checkbox/>, <html:multibox/>, <html:select/>, <html:option/>, <html:image/>
2.2. Strtus Bean Tag快速參考:<bean:cookie/>、<bean:header/>、<bean:parameter/>, <bean:page/>, <bean:define/>, <bean:include/>, <bean:message/> <bean:resource/>, <bean:write/>, <bean:struts/>
2.3. Struts Logic Tag快速參考: <logic:equal/>、<logic:notEqual/> <logic:greatEqual/>、<logic:greatThan/> <logic:lessEqual/>、<logic:lessThan/> <logic:match/>、<logic:notMatch/> <logic:present/>、<logic:notPresent/>
3. Validator整合
3.1. Validator簡介:減少validator()函數的撰寫,以及代碼綁定。
需要commons-validator.jar和jakarta-oro.jar兩個類庫。
以plug-in的方式擴展Struts功能,因此必須在struts-config.xml中定義。
3.2. 客戶端驗證
3.3. 服務器驗證
3.4. 配置文件管理
3.5. 內建驗證器
3.6. 自定義驗證器
4. Tiles整合
4.1. Tiles簡介:是Template Engine,可以使網頁布局(Layout)標簽與內容分離,提供版面控制機制。
需要commons-beanutils.jar、commons-logging.jar、commons-collections.jar、commons-digester.jar、struts.jar四個類庫。
以plug-in的方式擴展Struts功能,因此必須在struts-config.xml中定義。
必須在web.xml中定義標簽庫。
5. 檔案上傳
學習重點:
struts-config.xml
DTO(Data Transfer Object)
DAO(Data Access Object)