struts2總體介紹

2022-05-06 12:12:13 字數 2751 閱讀 3993

這篇部落格開始將總結一下有關框架的知識,在開發中合適的利用框架會使我們的開發效率大大提高。當今比較流行的開源框架:

當然了,各個公司可能也有在此基礎上擴充套件開發的自己使用的框架,但是很多原理的東西都是類似的,所以學習會一套框架,然後能夠舉一反三,幫助我們很快的接受新的知識。

ssh(struts+spring +hibernate)三大框架,今天來總結一下struts2的一些知識。所謂框架麼,其實就像我們蓋房子一樣,需要先搭建支架,然後再進行添磚加瓦,使之達到完美。而在軟體開發中,框架也是一樣的:就是將通用的**進行封裝,使我們可以重複利用,達到了高效開發的效果。當然既然已經搭建好的框架,用到我們的系統中,我們就需要學習它,怎麼使我們自己獨有的**和框架進行完美的結合。因為大家都在用這些優秀的框架,所以框架的學習,其實就是框架規範的學習。有了規範,有個約束,有了統一,才能更加有利於合作的開發。

下邊先看一下struts2總括知識:還是比較多的,三大框架之一麼:

一,struts2簡介:

1,來由:struts(金屬支架),在程式中表示起支撐作用的通用程式**,struts2是在struts1框架的基礎上融合了webwork優秀框架公升級得到的。

2,解釋:struts2框架是乙個輕量級的mvc流程框架,輕量級是指程式的**不是很多,執行時占用的資源不是很多,mvc流程框架就是說它是支援分層開發,控制資料的流程,從**來,到那裡去,怎麼來,怎麼去的這樣乙個框架;

3,公升級的改善:

struts1的缺點:

struts框架基於servlet進行開發的,所以servlet的問題在這個框架中都能體現出來

struts框架的流程是固定的,想要擴充套件業務流程非常的不方便。

只支援動態檢視jsp展現資料,對於現在的seo(搜尋引擎優化)支援不好

struts2框架改善的地方:

核心基於filter

流程可以動態擴充套件

多例建立物件

支援多種檢視展現技術(jsp,freemarker,volicity)

二,簡單對struts2了解後,看一下如何進行strut2的搭建:

2,拷貝框架的核心配置檔案struts.xml,放到src目錄下,保留乙個基本配置即可,這裡沒網的話需要我們自己配置一下xml檔案對應的dtd或者schema檔案,方便我們後期的編寫:

[html]view plain

copy

print

?<?xml  version="1.0" encoding="utf-8" ?>  

"-//apache software foundation//dtd struts configuration 2.0//en"  

"">  

struts>  

3,然後在我們的web.xml檔案中進行核心排程器的配置,這裡我們一般過濾所有訪問路徑即可:

[html]view plain

copy

print?  

struts2filter-name>  

org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilterfilter-class>  

filter>  

struts2filter-name>  

/*url-pattern>  

這樣我們的struts2框架就算搭建出來了,我們就可以使用框架進行開發了,當然了如何使用框架,如何很得心應手的運用框架,還需要不斷的使用才行。

三,struts2框架的原始碼分析,這也是我當時學習最頭疼,但是最讓我最感興趣的地方,因為這些原始碼才真正將一些神奇的功能進行了解答:(由於原始碼步驟過多,而且學習程度不夠深,這裡簡單說一下大概步驟)

1,tomcat等伺服器啟動時,框架做的事情:——>反射建立了strutsprepareandexecutefilter物件,相當於使用struts2的乙個準備物件吧,——>然後建立了dispatcher(核心排程器),——>通過此物件,載入物件預設的配置檔案(org/apache/struts2/default.properties),解析了預設的xml檔案(struts-default.xml等),——>並試圖載入我們編寫的xml檔案或者屬性檔案,——>並建立了我們需要用的prepareoperations和executeoperations物件。

這裡自我感覺是挺麻煩的,應該畫張圖更好,可是步驟太多,不知道圖得多大,所以簡單的檔案描述了一下重要的過程,忽略了很多。想說的是要重點掌握幾個檔案:struts-default.xml配置檔案,default.properties預設的屬性檔案,dispatcher核心排程器,還有就是模擬動態**訪問action的**物件(strutsactionproxy)和擴充套件物件(defaultactioninvocation),當然了解越多越好,這樣才能幫助我們更好的掌握這個框架,更有利於我們對其進行靈活運用,擴充套件,更有修改……

struts2框架大致容貌是這樣的,我認為學習這些框架重點不是死記那些規範,那些規則,重要的是我們學習這個框架的思想,這樣我們遇到新的框架時才不至於束手無策。就像我們拆膝上型電腦時,重要的不是我們記住那麼部件在那,先裝那個,後裝那個;而是我們電腦的組成部分,電腦的組裝思路。因為每乙個牌子的電腦的內部結構都是有差異的,但是每個牌子的電腦都會有cpu,cpu安裝都需要矽膠等等,知道原理本質,我們才能舉一反三,融會貫通。

Struts2學習一(Struts2介紹)

struts2是乙個基於mvc設計模式的web應用框架,本質是乙個servlet struts2的主要功能 1 action上,可以是乙個普通的pojo 2 執行緒上,每乙個action對應乙個例項,沒有執行緒上的問題 servlet單例項 3 整個ongl 4 使用值棧技術 valuestack ...

Struts2之配置介紹

本文引用自 接下來需要配置web.xml讓struts2起作用。配置乙個過濾器,名字是struts2。類是org.apache.struts2.dispatcher.filterdispatcher。的意思是從專案的根下的所有請求都要經過filterdispatcher類的過濾。這樣struts2就...

Struts 2框架簡單介紹

struts2是什麼 strusts2 是乙個基於mvc模式的輕量級的web框架。常見的web層框架 strusts 2 strusts 1 webwork springmvc strusts 2的優點 前端控制器模型 在傳統方式開發時,有乙個請求就會對應乙個servlet,這樣的話會出現很多個se...