跳至內容

「ApacheStruts」:修訂間差異

出自Taiwan Tongues 台語維基
TaiwanTonguesApiRobot留言 | 貢獻
從 JSON 檔案批量匯入
 
TaiwanTonguesApiRobot留言 | 貢獻
從 JSON 檔案批量匯入
 
第1行: 第1行:
'''Struts'''是 Apache 軟體基金會(ASF)贊助的一个開源項目。伊上頭仔是 Jakarta 項目中的一个子項目,並且佇二空空四年三月成做 ASF 的頂級項目。伊通過採Java Servlet/JSP 技術,實現了基於 Java EE Web 應用的 Model-View-Controller(MVC)設計模式的應用框殼MVC 經典設計模式內底的一个經典產品
'''Apache Struts '''是一个用於開發 Java EE 網路應用式的開放原始碼網頁應用程式架構。伊利用閣伸出來矣 Java Servlet API鼓勵開發者採用 MVC 架構


==MVC 結構==
因緣 Apache Struts 的 WebWork 框架,旨咧提供相對的 Struts 框架的增強佮改進,同時保留和 Struts 框架類似的結構。二空空五年十二月,WebWork 宣佈 WebWork 二孵二以 Apache Struts 二的名義合併至 Struts。二空空七年二月頭一个全發布(full release)版本釋出。


佇咧 Struts 中,已經是由一个名為 _ ActionServlet _ 的 Servlet 充當'''控制器'''('''Controller''')的角色,根據描述模型、視圖、控制器對應關係的 _ struts-config . xml _ 的配置文件,轉視圖('''View''')的請求,組裝響應數據模型('''Model''')。 佇咧 MVC 的'''模型'''('''Model''')部份,定定畫分做兩个主要的子系統(_ 系統的內部數據狀態 _ 佮 _ 改變數據狀態的邏輯動作 _), 這兩个概念子系統分別具體對應 Struts 內底的 _ ActionForm _ 佮 _ Action _ 兩个需要繼承實現超類。佇遮,Struts 會當佮各種準的數據訪問技術結合做伙,包括講 Enterprise Java Beans(EJB), JDBC 佮 JNDI。佇咧 Struts 的'''視圖'''('''View''')捀,除了使用標準的 JavaServer Pages(JSP)以外,閣提供大量的標籤庫來使用,同時嘛會當佮其他的表現層組件的技術(產品)進行整合,比如講 Velocity Templates,XSLT 等。通過應用 Struts 的框殼,最終用戶會當共大部份的關注點囥佇咧家己的業務邏輯(_ Action _)佮映射關係的配置文件(_ struts-config . xml _)中。
==開==


==發展歷==
Struts 設計的頭一目標就是使 MVC 模式應用 web 式設計。佇過去一O年,Struts 佇咧閣較好的 web 應用方面所做的工課是值得肯定的。佇咧某一寡方面,Struts 社群注意著這一箍輾轉的局限性,所以這个活骨的社群通過著 MVC 執行模式的重新理解閣同齊引入一寡新的建築學方面的設計理念了後,新的 Struts 二框架結構閣較清楚,使用較靈活方便。


佇咧 Java EE Web 應用發展初期,除了使用 Servlet 技術以外普遍是咧 JavaServer Pages(JSP)原始碼中HTML 佮 Java 代碼混合方式進行開發。因為式袂當避免愛共表現佮業務邏輯代碼透濫做伙,攏予前期開發佮後期維護帶來誠大複雜度。為著欲擺脫喝約束和局限業務邏輯代碼對表現層中清楚度分離出來,二空空空年,Craig McClanahan 採用矣 MVC 的設計模式開發 Struts。尾仔該框架產品一度予人認為是上廣泛、上時行 JAVA 的 WEB 應用框殼
這一新結構包含應用邏輯橫切面攔截器基於注釋的組態以減少佮去XML 形式的設定檔功能強大的表達式語言支援可能改、會當重UI 組件因為微 MVC 的標籤庫。Struts 二有兩方技術優勢一是所有的 Struts 二應用程式是因為 client / server HTTP 交換協定,The Java Servlet API 揭示矣 Java Servlet 只是 Java API 一个足細漢按呢阮會當佇業務邏輯部份使用功能強大Java 語言進行程式設計。


空空六年,WebWork 佮 Struts Java EE Web 框架團體決定合作共同開發个新的,整合矣 WebWork 佮 Struts 優點,並且閣較優雅擴展性閣較強的框殼,號名號做「'''Struts 二'''」,原 Struts 的一 . x 版本的產品叫做「Struts 一」。 Struts 項目並且提供佮維護兩个主要版本的框殼產品—— Struts 一佮 Struts 二
Struts 提供矣著 MVC 一个足清實現實現包含真濟參與嘿所以請求進行處理關鍵組件如:攔截器、OGNL 表達式語言


佇二空空八年十二月,Struts 發佈了上尾仔一个正式版(一孵三 . 十), 二空一三年四月初五,Struts 開發組宣布終止矣 Struts 一的軟體開發周期。
==漏洞處理手法==


==優缺點==
Struts 二開發組常予人指空修復手法無妥當,欲按怎修復了後猶閣有利用,欲按怎無法度修復並長期閒置。


Struts 的優點主要集體這馬兩方面,Taglib 佮頁面導航。Taglib Struts 標記庫靈活動用能大大開發效率
就有一由標記做S 二嬸三的空報告引發了相連紲遠端執行問題官方濟擺修復猶是無法度完全解決甚至是報告提交者濟擺交其他的方案警醒開發組注意


Struts 這个名來源於佇咧建築佮舊式飛機使用的支持金屬架仔。伊的目的是為著欲減少咧運用 MVC 設計模型來發 Web 應用時間。你猶原需要學習佮應應該架構猶毋過伊會當完成其一寡繁重工課。Struts 佮 Tomcat、Turbine 等諸多 Apache 項目仝款,是開源軟體,這是伊一大優點,使開發者會當閣較深了解其內部實現機制
二空一三年七月發佈了二嬸三 . 十五鋪一發布版,啊若佇咧修復事項當一段遠端執行漏洞範例代碼,予駭客圈內底利用,致使國大陸大量使用 Struts 網站予


Struts 空縫處理機制捷予顧頭雞仔病,一來 OGNL 的功能強大佮請求處理機制真好產生遠程執行問題,二來開發組空縫處理能力不足,欲按怎修復了後猶原會當踅過,欲哪會無法度修復咧長期閒置處理。
==參見==
 
* Web 應用框殼的對


==參考文獻==
==參考文獻==
第26行: 第28行:


* 官方網站
* 官方網站
 
* Struts 二外掛程式登記處
==見==
* Struts 二 jQuery 掛程式
 
* Struts 二指南
* Struts 二
* 佇咧 JBoss 上進行 Struts 開發的教程
* MVC 設計模式
* 佇咧無容器的情況下進行 Struts 二 Actions 測試(考:Web 容器)
* Apache 軟體基金會
* Struts 二範例
* J EE
* Struts 二校驗範例
* Apache Struts 漏洞
* Struts 嬸零校驗


[[分類: 待校正]]
[[分類: 待校正]]

於 2025年8月24日 (日) 03:41 的最新修訂

Apache Struts 二是一个用於開發 Java EE 網路應用程式的開放原始碼網頁應用程式架構。伊利用閣伸出來矣 Java Servlet API,鼓勵開發者採用 MVC 架構。

因緣 Apache Struts 的 WebWork 框架,旨咧提供相對的 Struts 框架的增強佮改進,同時保留和 Struts 框架類似的結構。二空空五年十二月,WebWork 宣佈 WebWork 二孵二以 Apache Struts 二的名義合併至 Struts。二空空七年二月頭一个全發布(full release)版本釋出。

開發目標

Struts 設計的頭一目標就是使 MVC 模式應用 web 程式設計。佇過去一O年,Struts 佇咧閣較好的 web 應用方面所做的工課是值得肯定的。佇咧某一寡方面,Struts 社群注意著這一箍輾轉的局限性,所以這个活骨的社群通過著 MVC 執行模式的重新理解閣同齊引入一寡新的建築學方面的設計理念了後,新的 Struts 二框架結構閣較清楚,使用較靈活方便。

這一新的結構包含應用邏輯的橫切面攔截器,基於注釋的組態以減少佮去除 XML 形式的設定檔,功能強大的表達式的語言,支援可能改、會當重用 UI 組件的是因為微 MVC 的標籤庫。Struts 二有兩方面的技術優勢,一是所有的 Struts 二應用程式攏是因為 client / server HTTP 交換協定,The Java Servlet API 揭示矣 Java Servlet 只是 Java API 的一个足細漢的集,按呢阮會當佇業務邏輯部份使用功能強大的 Java 語言進行程式設計。

Struts 二提供矣著 MVC 的一个足清的實現,這一實現包含真濟參與嘿所以請求進行處理的關鍵組件,如:攔截器、OGNL 表達式語言、疊。

漏洞處理手法

Struts 二開發組常予人指空修復手法無妥當,欲按怎修復了後猶閣有利用,欲按怎無法度修復並長期閒置。

其中就有一个由標記做是 S 二嬸三的空報告引發了相連紲的遠端執行問題,官方濟擺修復猶是無法度完全解決,甚至是報告提交者濟擺提交其他的方案警醒開發組注意。

二空一三年七月發佈了二嬸三 . 十五鋪一發布版,啊若佇咧修復事項當中公開一段遠端執行漏洞的範例代碼,予駭客圈內底利用,致使中國大陸大量的使用 Struts 二的網站予入侵。

參見

  • Web 應用框殼的對比

參考文獻

外部連結

  • 官方網站
  • Struts 二外掛程式登記處
  • Struts 二 jQuery 掛程式
  • Struts 二指南
  • 佇咧 JBoss 上進行 Struts 開發的教程
  • 佇咧無容器的情況下進行 Struts 二 Actions 測試(參考:Web 容器)
  • Struts 二範例
  • Struts 二校驗範例
  • Apache Struts 漏洞
  • Struts 二嬸零校驗