Struts2與Servlet的關係

2021-07-06 10:09:38 字數 901 閱讀 9503

可以說struts2本質還是乙個servlet(在s1中用於整體控制的是乙個servlet;s2中是乙個filter,其實也可把它看作是servlet),只是對servlet進一步的封裝罷了

打個比方:做web專案,好比建房子。servlet好比木材,用一根根的木材搭,也可蓋起房子,只是速度慢而已;

而struts2好比是用木材做好的乙個房子大概結構,要建房子時,只需把它拿過來,再往其裡面添磚加瓦,修修補補,就能很快蓋好房子,這要比直接使用servlet要快得多

具體對比

1.開發時間。這個的對比是struts比servlet低。因為struts有一些配置檔案,如果有些不注意思,出錯的機會比servlet大,不如使用jsp+servlet開發隨意。

2.**的規範。因為jsp+servlet開發隨意。規範性應差。控制語句到處有,為維護及修改帶來不便。也使接手的人為解讀**帶來不便。

3.安全性。web開發最不安全的就是session的使用.servlet的開發離不開request。有了request,那也就有了session,以前我們有個組開發,亂用session,使系統的效能很著。而且有很多保密資訊外漏。如果你在serlet中封裝request,那你就會發現越來越象struts。而struts的值都儲存在actionform中,所以進行簡單的封裝就可以使底層人員,看不到requet,又不影響取值。

4.維護性。這個基本處於專案後期,這個的比較,就是struts遠勝於servlet。只在pm控制的好。那麼struts專案的**分層很清晰。資料層,頁面表示,頁面控制,業務處理,這些都會分好模組。這給後期維護帶來了很大的方便。因為後期的話,誰也不想引入新的bug,如果用servlet,**結構不清晰,很空易引入新bug。這也是struts最強勢的地方。

struts最受人指責的地方就是前期佈署,開發比較費時。所以現在的方向是便捷開發易編創護框架的開發。

Struts2框架與servlet共存問題

今天在做乙個專案的時候遇到了乙個很奇怪的問題,這個專案的一部分是之前用servlet寫的,但是後邊打算用struts寫,再加入struts框架配置後發現原先的那部分不能正常訪問了,之前沒這麼做過所以很納悶,struts2配置自認為寫的很熟了,應該沒什麼問題啊,struts.xml檔案改了又改還是找不...

Struts2 獲得Servlet 物件

author liuqing datetime 2010 1 3 1.獲得httpservletrequest 物件 getcontext get org.apache.struts2.strutsstatics.http response 2.獲得httpservletresponse物件 get...

struts2和servlet的區別

1.struts2是基於對servlet的封裝。2.struts2開發效率更高,更簡潔。3.struts2能夠通過預設的 自動獲取請求引數,而且能夠自動轉換成對應的資料型別。前提要求是在對應的action類中 定義對應的屬性 而且屬性名要與對應的請求引數的key保持一致,並提供set,get方法。主...