更新時間:2022-05-19 來源:黑馬程序員 瀏覽量:
Java中Strutsl是最早的基于MVC模式的輕量級Web框架,它能夠合理地劃分代碼結(jié)構(gòu),并包含驗證框架、國際化框架等多種實用工具框架。但是隨著技術(shù)的進步,Struts1的局限性也越來越多地暴露出來。為了符合更加靈活、高效的開發(fā)需求,Struts2框架應(yīng)運而生。
Struts2是Strutsl的下一代產(chǎn)品,是在Struts1和WebWork技術(shù)的基礎(chǔ)上進行合并后的全新框架(WebWork是由OpenSymphony組織開發(fā)的,致力于組件化和代碼重用的J2EE Web框架,它也是一個MVC框架)。雖然Struts2的名字與Struts1相似,但其設(shè)計思想?yún)s有很大的不同。實質(zhì)上,Struts2是以WebWork為核心的,它采用攔截器的機制來處理用戶的請求。這樣的設(shè)計也使得業(yè)務(wù)邏輯控制器能夠與Servlet API完全脫離開,所以Struts2可以理解為WebWork 的更新產(chǎn)品。
Struts2擁有優(yōu)良的設(shè)計和功能,其優(yōu)勢具體如下:
·項目開源,使用及拓展方便。
·提供Exception處理機制。
·Result方式的頁面導(dǎo)航,通過Result標(biāo)簽很方便地實現(xiàn)重定向和頁面跳轉(zhuǎn)。
·通過簡單、集中的配置來調(diào)度業(yè)務(wù)類,使得配置和修改都非常容易。
·提供簡單、統(tǒng)一的表達式語言來訪問所有可供訪問的數(shù)據(jù)。
·提供標(biāo)準(zhǔn)、強大的驗證框架和國際化框架。
·提供強大的、可以有效減少頁面代碼的標(biāo)簽。
·提供良好的Ajax支持。
·擁有簡單的插件,只需放人相應(yīng)的JAR包,任何人都可以擴展Struts2框架,例如自定義攔截器、自定義結(jié)果類型、自定義標(biāo)簽等,為Struts2定制需要的功能,不需要什么特殊配置,并且可以發(fā)布給其他人使用。
·擁有智能的默認(rèn)設(shè)置,不需要另外進行煩瑣的設(shè)置。使用默認(rèn)設(shè)置就可以完成大多數(shù)項目程序開發(fā)所需要的功能。