Struts2 概述

2020-06-15 19:49 更新

Struts2 是目前較為普及和成熟的基于MVC設(shè)計(jì)模式的web應(yīng)用程序框架,它不僅僅是Struts1 的升級版本,更是一個(gè)全新的Struts架構(gòu)。最初,是以WebWork框架和Struts框架為基礎(chǔ),通過提供增強(qiáng)和改進(jìn)的Struts框架,進(jìn)而實(shí)現(xiàn)簡化web技術(shù)人員開發(fā)工作的目標(biāo)。不久之后,Webwork框架和Struts社區(qū)聯(lián)合創(chuàng)造了現(xiàn)在流行的Struts2框架。

Struts2 框架的優(yōu)點(diǎn)

了解了這幾個(gè)主要的優(yōu)點(diǎn),會(huì)促使你考慮使用Struts2 :
  • POJO表單及POJO操作 - Struts2 去除掉了Struts框架中的Action Forms部分。在Struts2框架下,你可以用任何一POJO來接收表單輸入,同樣的,你可以把任一POJO視為一個(gè)Action類。
  • 標(biāo)簽支持 - Struts2 改進(jìn)了標(biāo)簽表單,而新的標(biāo)簽可讓開發(fā)人員減少代碼編寫量。
  • AJAX支持 - Struts2 被認(rèn)可接收進(jìn)Web 2.0技術(shù),并創(chuàng)建了功能非常類似于標(biāo)準(zhǔn)的Struts2 標(biāo)簽的AJAX標(biāo)簽,把AJAX支持整合進(jìn)其結(jié)果中。
  • 易于整合 - Struts有多種整合方式可使用,現(xiàn)在與其他類型的框架,如Spring、Tiles、SiteMesh之類的,整合更為容易了。
  • 模板支持 - 支持使用模板生成視圖。
  • 插件支持 - 有大量的插件可用于Struts2,而使用插件可以增強(qiáng)和擴(kuò)大Struts2 核心行為。
  • 性能分析 - Struts2 為調(diào)試和配置應(yīng)用程序提供綜合的性能分析,此外,Struts也以嵌入調(diào)試工具的形式提供集成調(diào)試。
  • 易于修改標(biāo)簽 - 在Struts2 中,可使用Freemarker的模板對標(biāo)簽標(biāo)記進(jìn)行調(diào)整,而修改標(biāo)簽不需要JSP或是Java知識(shí),基本的HTML、XML和CSS知識(shí)就足夠了。
  • 促進(jìn)減少配置 - Struts2 使用各種設(shè)置的默認(rèn)值促進(jìn)減少配置,而你不需要再配置什么除非是偏離了Struts2 設(shè)定的默認(rèn)設(shè)置。
  • 視圖技術(shù) - Struts2 為多種視圖選項(xiàng)(JSP、Freemarker、Velocity、XSLT等)提供支持。
以上是使Struts2 成為準(zhǔn)企業(yè)框架的十大優(yōu)點(diǎn)。

Struts2 框架的缺點(diǎn)

盡管Struts2 有一大列的優(yōu)點(diǎn),但我們還是要提到關(guān)于它的一些仍需不斷改進(jìn)的缺點(diǎn):
  • 更大的學(xué)習(xí)曲線 - 使用Struts MVC,你必須要熟悉JSP、Servlet APIs標(biāo)準(zhǔn)以及一個(gè)大型、復(fù)雜的框架。
  • 文檔缺乏 - 相比于Servlet和JSP APIs標(biāo)準(zhǔn),Struts的在線資源較少,許多初學(xué)者會(huì)發(fā)現(xiàn)Apache在線文檔混亂并缺乏整理。
  • 不夠透明 - 相比于使用正常的基于Java的Web應(yīng)用程序,使用Struts的應(yīng)用程序有許多是進(jìn)行在后臺(tái),這使得框架不易于理解。
最后說明一點(diǎn),一個(gè)好的框架應(yīng)該提供各種類型的應(yīng)用程序都可以使用的通用行為,Struts2 是最好的Web框架之一,并頻繁用于RIA(Rich Internet Applications)的發(fā)展。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)