的基本流程嗯,我想學習Struts的,所以我打算在Struts 1, 開始我想知道的一般流程。需要什麼文件?Struts的
什麼是struts-config.xml的功能? validation.xml中? validation-rules.xml 當你訪問你的JSP頁面,並且一個動作被觸發時,會發生什麼? Action和Form類是做什麼的?當一個動作被觸發時,哪個類首先被調用。
我剛剛下載的表格樣本,而所有這些文件都在第一混亂。我想知道怎麼做才能更好地理解Struts。 d:
的基本流程嗯,我想學習Struts的,所以我打算在Struts 1, 開始我想知道的一般流程。需要什麼文件?Struts的
什麼是struts-config.xml的功能? validation.xml中? validation-rules.xml 當你訪問你的JSP頁面,並且一個動作被觸發時,會發生什麼? Action和Form類是做什麼的?當一個動作被觸發時,哪個類首先被調用。
我剛剛下載的表格樣本,而所有這些文件都在第一混亂。我想知道怎麼做才能更好地理解Struts。 d:
你應該與Struts的教程,這將使它很容易理解開始。你可以在網上找到很多,特別是Struts 1. Here is a starting point for example。
但只是爲了它,這裏是一個高視圖演示。
首先,將Struts ActionServlet
添加到您的web.xml
文件中,並將其配置爲接受匹配某個映射的請求。對於Struts,這是*.do
(您可以爲此設置任何內容,*.do
僅僅是Struts社區中的一個約定)。
現在,無論何時到達服務器上有這樣一個*.do
URL模式發送到ActionServlet
。現在
,struts-config.xml
文件的內容進場。 ActionServlet
是front controller,它只是分派給其他更適合特定處理的資源。這些特定資源是Action
類。
你可以有例如LoginAction
必須處理的login.do
路徑上到達的請求。在struts-config.xml
中指定:login
路徑上的所有內容必須發送到LoginAction
類。
而且,只要你想,你可以有許多的聲明,對路徑x
呼叫XAction
,爲y
呼叫YAction
等等等等
通常,您的客戶端提交的數據到服務器,數據,他輸入到一個HTML表單。您需要在Action
課程中處理這些數據。現在輸入ActionForm
。
的ActionForm
是Struts框架與來自HTML形式的數據填充的bean。例如,您可以使用諸如formBean.getFoo()
之類的對象來代替request.getParameter("foo")
。
一旦你使用ActionForm
的Action
類做你處理,你再必須存在於一些結果看(順便說一下,Struts是一個MVC框架,所以你必須知道這個兩個東西也)。
視圖通常是JSP文件。當您從Action
返回時,您可以通過名稱指定一個「前進」位置(即要指向哪個視圖)。現在信息再次位於struts-config.xml
文件中,其中視圖的名稱被映射到JSP位置。
然後,框架將控制轉發給該JSP,JSP呈現數據,然後將數據作爲HTML發送給客戶端(客戶端不再需要直接訪問JSP - 它們必須被Struts框架隱藏)。
在新頁面中,客戶端再次執行一些請求並重復該過程。
那麼,這是關於儘可能高的表現,因爲它可以得到。當然,除此之外還有更多,但在學習Struts時你會發現它們。
至於validator-rules.xml
和validation.xml
,那些使用由Validator框架,你可以integrate with Struts通過使用插件(Struts有插件,您可以使用新的東西添加到它)還添加驗證用戶的輸入。
嗯,就是這樣。你可以在網上找到很多提供更多細節的教程,但希望能幫助你獲得更好的開始。
祝你好運!
action="login.do"
。該集裝箱將致電web.xml
。在這 web.xml
有兩個部分的servlet和servlet映射*.do
在url-pattern中。如果發現 取servlet的名字。並檢查相應的班級。在 servlet部分。該班級是ActionServlet
。RequestPrecessor
類的實例Service(req,res) RequestPrecessor rp = new RequestPrecessor();
RequestProcessor
類的處理方法,通過 實例rp.process(req,res)
內部的條件有6個步驟是處理
Struts- Config.xml
一個動作映射的實例。它 將保持動作映射路徑,值,類型 前進,validation=true/false
,input ="*.jsp"
等這些[R創建的實例ActionMapping
實例的RIS提或不 validate =true/false
如果假時,將不執行這一步否則 它將執行此步驟。ActionErrors
實例。如果它不是空的。它會轉到錯誤頁面 其他明智它會到相應的頁面。否則如果它是空的 如果將進一步並在jsp 視圖中顯示相應的頁面值。這是struts流。
最好解釋.. – 2014-05-09 07:00:41
@Tiny我猜PrepareAndExecuteFilter是新的actionservlet ..這是否正確?如果是的話什麼時候被調用/調用/初始化? – 2014-05-09 07:05:44