Struts快速入門(二) (轉)
M語義 :namespace prefix = o ns = "urn:schemas--com::office" />
我們從關鍵的Struts抽象概念開始,這是它MVC架構的核心。Struts使用Service to Worker實現了MVC模式。[Core]
控制器
控制器被Action類所實現。它提供一箇中心位置來處理全部的終端請求。這就為處理檢視和導航管理的控制層提供了更為清晰的劃分,把模型訪問和操作留給專門的請求。全部提交的請求被對映到中心處理器,其說明如下:
全部的請求URI以*.do的模式存在並對映到這個servlet,其配置如下:
一個該模式的請求URI符合如下格式:
上述的對映叫做擴充套件對映,你也可以宣告路徑對映,使用/*結尾的模式,如下所示:
一個該模式的請求URI符合如下格式:
如上描述的資源邏輯對映允許在配置中修改資源對映而不需修改任何應用程式碼。該對映方案也被用於Mulitplexed Re Mapping。控制器為所有的表示層請求提供了一個集中的訪問點。控制器區分每一個提交的請求到RequestProcessor,其輪流傳送請求到相關的表單bean進行表單驗證,然後發到一個請求處理器以訪問模型。這個控制器提供的抽象概念減輕了開發者建立公共應用系統服務的困難,如管理檢視、會話及表單資料。開發者支援一個通用機制如錯誤及異常處理,導航,國際化,資料驗證,資料轉換等。
在Struts 1.1中,控制器需要在init()方法中讀取配置。該配置控制了架構的行為,含有URI到請求處理器的對映如使用ActionMapping配置物件,設定資訊資源,提供透過訪問外部資源等等。事實上,提交請求的處理實際發生在ActionServlet委託所有的輸入請求到RequestProcessor的過程中。
傳送者物件
RequestProcessor功能是作為傳送者,按例項化(或複用)一個請求處理器和一個相應的表單bean來處理請求。表單bean和請求處理器中錯誤的建立或異常的丟擲被RequestProcessor處理,並影響RequestProcessor的檢視管理功能。表單bean輔助RequestProcessor儲存表單資料和/或準備檢視必須的中間模型資料。RequestProcessor使用
type="packageName.EditCustomerProfileAction" name="customerProfileForm" pe="request"/> type="packageName.customerProfileForm"/> 全部提交的請求都被控制器委託到RequestProcessor的物件傳送者。RequestProcessor檢查請求URI找到動作標示符,並使用ActionMapping物件中的資訊建立一個請求處理器例項,然後requesthandler.execute(…)方法。請求處理器中execute(…)方法任務是和應用模型互相作用。請求處理器根據結果返回以一個ActionForward配置物件到RequestProcessor。RequestProcessor將用ActionForward物件來透過RequestDispatcher.forward(…)或response.sendRedirect(…)來呼叫下一個檢視。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-956527/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Struts快速入門(三) (轉)
- Struts快速入門(四) (轉)
- Struts2框架快速入門筆記框架筆記
- Go快速入門(二)Go
- Vue快速入門(二)Vue
- Flask二之快速入門Flask
- CSS快速入門(轉)CSS
- ES6快速入門(二)
- TinyXML快速入門(一)(二)(三)XML
- Babel轉碼快速入門Babel
- Hibernate快速入門--轉
- struts2入門
- Struts入門例項
- SQL語言快速入門(轉)SQL
- JUnit 4快速入門(轉載)
- Struts入門初步知識
- XML輕鬆學習手冊(2)XML快速入門之二(轉)XML
- AutoCAD快速入門(二):圖形視窗
- 快速排序快速入門排序
- Struts2基礎入門
- UNIX 系統操作入門(二)(轉)
- 小豬的C語言快速入門系列(二)C語言
- 自學前端如何快速入門?怎麼快速入門前端?前端
- SQL快速入門 ( MySQL快速入門, MySQL參考, MySQL快速回顧 )MySql
- struts入門級問題,線上等!!!!
- MySQL 快速入門MySql
- mysqlsla快速入門MySql
- Pipenv 快速入門
- Envoy 快速入門
- mongodb快速入門MongoDB
- Spark 快速入門Spark
- zookeeper 快速入門
- MQTT 快速入門MQQT
- Lumen快速入門
- Webpack快速入門Web
- RabbitMQ快速入門MQ
- QT快速入門QT
- makefile快速入門