struts mvc語義
我們從關鍵的
struts
抽象概念開始,這是它
mvc架構的核心。
struts
使用service to worker
模式實現了
mvc模式。
[core]
控制器物件
控制器被
actionservlet
類所實現。它提供乙個中心位置來處理全部的終端請求。
這就為處理檢視和
導航管理
的控制層提供了更為清晰的劃分,把模型訪問和操作留給專門的請求處理器。
全部提交的請求被對映到中心處理器,其配置說明如下:
action
org.apache.struts.action.actionservlet
全部的請求
uri以
*.do
的模式存在並對映到這個
servlet
,其配置如下:
action
*.do
乙個該模式的請求
uri符合如下格式:
上述的對映叫做擴充套件對映,你也可以宣告路徑對映,使用
/*結尾的模式,如下所示:
action
/do/*
乙個該模式的請求
uri符合如下格式:
如上描述的資源邏輯對映允許在配置檔案中修改資源對映而不需修改任何應用系統**。該對映方案也被用於
。控制器為所有的表示層請求提供了乙個集中的訪問點。控制器區分每乙個提交的請求到
requestprocessor
,其輪流傳送請求到相關的表單
bean
進行表單驗證,然後發到乙個請求處理器以訪問模型。這個控制器提供的抽象概念減輕了開發者建立公共應用系統服務的困難,如管理檢視、會話及表單資料。開發者支援乙個通用機制如錯誤及異常處理,導航,國際化,資料驗證,資料轉換等。
在struts 1.1
中,控制器需要在
init()
方法中讀取配置。該配置控制了架構的行為,含有
uri到請求處理器的對映如使用
配置物件,設定資訊資源,提供通過外掛程式訪問外部資源等等。事實上,提交請求的處理實際發生在
actionservlet
委託所有的輸入請求到
requestprocessor
的過程中。
傳送者物件
requestprocessor
功能是作為傳送者,按例項化(或復用)乙個請求處理器和乙個相應的表單
bean
來處理請求。表單
bean
和請求處理器中錯誤的建立或異常的丟擲被
requestprocessor
處理,並影響
requestprocessor
的檢視管理功能。表單
bean
輔助requestprocessor
儲存表單資料和
/或準備檢視必須的中間模型資料。
requestprocessor
使用宣告
struts-config.xml
檔案,如下所示,例如特定請求的請求處理器。
type="packagename.editcustomerprofileaction"
name="customerprofileform"
scope="request"/>
type="packagename.customerprofileform"/>
全部提交的請求都被控制器委託到
requestprocessor
的物件傳送者。
requestprocessor
檢查請求
uri找到動作標示符,並使用
物件中的資訊建立乙個請求處理器例項,然後呼叫
requesthandler
.execute(…)
方法。請求處理器中
execute(…)
方法任務是和應用模型互相作用。請求處理器根據結果返回以乙個
actionforward
配置物件到
requestprocessor
。requestprocessor
將用actionforward
物件來通過執行
requestdispatcher.forward(…)
或response.sendredirect(…)
來呼叫下乙個檢視。
(待續..)
icecloud@sina.com
Struts快速入門(二)
struts mvc語義 我們從關鍵的 struts 抽象概念開始,這是它 mvc架構的核心。struts 使用service to worker 模式實現了 mvc模式。core 控制器物件 控制器被 actionservlet 類所實現。它提供乙個中心位置來處理全部的終端請求。這就為處理檢視和 ...
二 快速入門
一 springboot預設埠號為8080 在沒有主啟動類的情況下 package com.dudu.service import org.springframework.boot.autoconfigure.enableautoconfiguration import org.springfram...
Flask入門二 快速入門
from flask import flask 路由裝飾器 defhello world 檢視函式 return hello world 返回乙個字串 if name main 把程式儲存為hello.py 用python直譯器執行 python hello.py running on訪問 會看見 ...