- Java EE程序設(shè)計與開發(fā)實踐教程
- 馮志林編著
- 4字
- 2021-10-27 17:05:34
6.2 Struts2簡介
6.2.1 什么是Struts2
Struts2是建立在JSP和Servlet之上的一個Web應(yīng)用開發(fā)框架,是Apache基金會Jakarta項目的一部分。Struts2是MVC的一種新實現(xiàn),繼承了MVC的各項特性,并根據(jù)Java EE的特點,做了相應(yīng)的變化與擴(kuò)展。
Struts2和Struts1存在很大區(qū)別,Struts1已經(jīng)淘汰不用。
傳統(tǒng)的Java Web開發(fā)采用JSP+Servlet+JavaBean的方式來實現(xiàn)MVC,但它有一個缺陷:程序員在編寫程序時必須繼承HttpServlet類、覆蓋doGet()和doPost()方法,嚴(yán)格遵守Servlet代碼規(guī)范編寫程序。
在Web應(yīng)用中使用Struts2,開發(fā)人員可以把精力集中在真正的業(yè)務(wù)邏輯上,而不再分心于如何分派請求,從而可以大大提高Web應(yīng)用的開發(fā)速度。它是一個MVC設(shè)計模式構(gòu)建Web應(yīng)用程序的開源框架,充分體現(xiàn)了MVC設(shè)計模式的“分類顯示邏輯和業(yè)務(wù)邏輯”能力。
用Struts2實現(xiàn)的MVC系統(tǒng)與傳統(tǒng)的用Servlet編寫的MVC系統(tǒng)相比,兩者在結(jié)構(gòu)上的區(qū)別如圖6-2所示。

圖6-2 Struts2實現(xiàn)的MVC系統(tǒng)與Servlet實現(xiàn)的MVC系統(tǒng)
a) Servlet控制的MVC系統(tǒng) b) Struts 2控制的MVC系統(tǒng)
特別地,Servlet和Action的生命周期有很大區(qū)別。
● Servlet:默認(rèn)在第一次訪問的時候創(chuàng)建,只創(chuàng)建一次,是一個單例對象。
● Action:一樣是訪問的時候創(chuàng)建對象,每次訪問Action的時候都會創(chuàng)建新的Action對象,是一個多實例對象。
- 從零開始構(gòu)建企業(yè)級RAG系統(tǒng)
- Reporting with Visual Studio and Crystal Reports
- UML和模式應(yīng)用(原書第3版)
- Python自然語言處理實戰(zhàn):核心技術(shù)與算法
- Mastering OpenCV Android Application Programming
- Java加密與解密的藝術(shù)(第2版)
- Mastering Yii
- PLC編程及應(yīng)用實戰(zhàn)
- Visual C++數(shù)字圖像處理技術(shù)詳解
- Android開發(fā):從0到1 (清華開發(fā)者書庫)
- OpenCV with Python By Example
- 深度學(xué)習(xí)原理與PyTorch實戰(zhàn)(第2版)
- ExtJS Web應(yīng)用程序開發(fā)指南第2版
- 人人都能開發(fā)RPA機(jī)器人:UiPath從入門到實戰(zhàn)
- 征服C指針(第2版)