程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> struts1和spring整合的方法

struts1和spring整合的方法

編輯:關於JAVA

struts1和spring有兩種整合的方法  一種是action和spring bean映射;一種是將action交給 spring初始化

第一種方式:訪問.do的URL->tomcat接收到request-〉到Struts配置文件裡找對應的action-〉找 到對應的action組件(Action那個類)-〉這個類對request進行一系列處理-〉調用spring提供的某個 service的注入實例的方法->由這個方法返回值-〉響應輸出

第二種方式:訪問.do的URL->tomcat接收到request-〉到Struts配置文件裡找對應的action-〉找 不到對應的action組件(Action那個類)-〉去spring配置文件裡找這個Action的映射,找到類-〉這個類 對request進行一系列處理-〉調用spring提供的某個service的注入實例的方法->由這個方法返回值- 〉響應輸出

(Struts1很久不用了,也許有差漏)

hibernate和spring的整合比較復雜,建議找人當面講

粗談Struts——從執行順序來看Struts

1.在web.xml中的配置

Struts在web.xml中的配置通常是自動生成的,這裡不用贅述。只有一點應該 說一下,那就是為ActionServlet這個servlet配置<load-on-startup>,而且應該讓它的數值小一 些,這樣能讓這個ActionServlet這個系統核心控制器早一點啟動。

2.用戶的請求

用戶提交表單時,表單的action屬性通常應以.do結束。當然,如果不寫的話,系統 也會默認(添加)以.do結束。以.do結束的原因是因為,在web.xml中我們通常都是配置攔截以.do結束的 請求。

3.定位Action

ActionServlet攔截到用戶的請求後,並不自己處理,它委托給 RequestProcessor進行處理。RequestProcessor使用請求URI與struts-config.xml文件中的Action的path 屬性進行對比,從而確定由哪個Action來處理這個請求。

4.填充ActionForm

確定下來由哪個Action來處理請求後,系統會去檢查Action的name屬性。然後,根據name屬性的值再在這個文件中去找對應的ActionForm來接受有戶提交的表單的內容。在ActionForm中通常有一個方法ActionErrors validate(ActionMapping mapping,HttpServletRequest request)需要重寫,該方法是用來檢驗用戶的輸入是否合法的。不過,現在Struts已經不在提倡這種驗證方法了。

5.對表單的驗證

借助於jakarta-oro.jar和commons-validator.jar的支持,Struts的校驗功能非常的強大。此種的驗證牽涉的內容很多,在此不做細說。如果,校驗出錯誤,則將錯誤送到Action的input屬性指定的頁面去處理。

6.Action處理

若校驗通過,則Action做一些業務邏輯上的處理,其實Action就是業務邏輯處理器。處理之後,把處理的結果放到request(或Session等)裡,然後轉發到全局轉發所指定的jsp頁面或在Action的配置時配置的局部轉發所指定的jsp頁面裡。

7.結果的顯示

在jsp頁面中對Action處理的結果進行輸出顯示。

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved