基本簡要流程如下:
1、客戶端瀏覽器發出http請求。
2、根據web.xml配置,該請求被filterdispatcher過濾。
3、根據struts.xml配置,找到需要呼叫的action類和方法。
4、action呼叫業務邏輯元件處理業務邏輯。
5、action執行完畢,根據struts.xml中的配置找到對應的返回結果result,並跳轉到相應頁面。
6、返回http響應到客戶端瀏覽器。
struts有哪些功能
1.struts提供了乙個過濾器排程程式,程式設計師不必再自行編寫乙個。
2.struts使用了乙個基於xml的配置檔案來匹配uri和動作。因為xml文件是文字檔案,所以對應用程式的許多改動都用不著重新編譯有關**即可生效。
3.對動作類進行例項化和提取使用者輸入去填充各有關動作屬性的工作都由struts負責。如果程式設計師沒有指定乙個動作類,struts將對乙個預設的動作類進行例項化。
4.struts可以對使用者輸入提供一些基本的合法性驗證,並在遇到不合法的輸入時自動地把使用者重定向到相關的輸入表單。輸入驗證是乙個可選環節,並且可以選擇以程式設計方式或申明方式來實現。在此基礎上,struts還提供了許多種內建的輸入驗證程式。
5.struts負責呼叫動作方法,而程式設計師可以通過配置檔案輕而易舉地改變某個動作的方法。
6.struts負責檢查各個動作的結果和執行該結果。最常見的結果型別是dispatcher,其含義是把控制權轉交給乙個jsp頁面。此外,struts還支援其他一些結果型別供程式設計師做其他事情,比如生成乙個pdf檔案,重定向到乙個外部資源,傳送一條訊息等等。
7.struts還提供一些其他功能,比如用來顯示資料的定製標籤、資料轉換、支援ajax、支援國際化和本地化、可以通過外掛程式對struts進行擴充套件等等。
為什麼要使用struts
1.它是建立在mvc這種公認的好的模式上的,struts在m、v和c上都有涉及,但它主要是提供乙個好的控制器和一套定製的標籤庫上,也就是說它的著力點在c和v上,因此,它天生就有mvc所帶來的一系列優點,如:結構層次分明,高可重用性,增加了程式的健壯性和可伸縮性,便於開發與設計分工,提供集中統一的許可權控制、校驗、國際化、日誌等等;
2.其次,它是個開源專案得到了包括它的發明者craig r.mcclanahan在內的一些程式大師和高手持續而細心的呵護,並且經受了實戰的檢驗,使其功能越來越強大,體系也日臻完善;
3.是它對其他技術和框架顯示出很好的融合性。
Struts2為什麼要使用OGNL
引言 眾所周知,在mvc中,資料是在各個層次之間進行流轉是乙個不爭的事實。而這種流轉,也就會面臨一些困境,這些困境,是由於資料在不同世界中的表現形式不同而造成的 1.資料在頁面上是乙個扁平的,不帶資料型別的字串,無論你的資料結構有多複雜,資料型別有多豐富,到了展示的時候,全都一視同仁的成為字串在頁面...
HashMap的擴容機制 為什麼是2冪
假設length為hash表陣列的大小,方法indexfor int hash,int length 為 indexfor int hash,int length 在舊陣列中同一條entry鏈上的元素,在resize過程中,通過重新計算索引位置後,有可能被放到了新陣列的不同位置上。jdk8做了一些優...
為什麼要使用blog
有哥們問我,你為什麼使用blog?我總結了一下,覺得有如下幾個原因。1對自己的督促 有了blog,就會經常記得寫點東西 就會經常翻翻網上的新文章,了解一下新技術,不至於迷失在忙碌的生活中 如果把自己的所感所想所學寫出了,自己對自己也會有個概念,不至於迷迷糊糊 還有,畢竟是掛在網上的文字,心中難免擔心...