可以說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最受人指責的地方就是前期佈署,開發比較費時。所以現在的方向是便捷開發易編創護框架的開發。
struts 和servlet的關係
可以說struts2本質還是乙個servlet 在s1中用於整體控制的是乙個servlet s2中是乙個filter,其實也可把它看作是servlet 只是對servlet進一步的封裝罷了 打個比方 做web專案,好比建房子。servlet好比木材,用一根根的木材搭,也可蓋起房子,只是速度慢而已 而...
struts2和servlet的區別
1.struts2是基於對servlet的封裝。2.struts2開發效率更高,更簡潔。3.struts2能夠通過預設的 自動獲取請求引數,而且能夠自動轉換成對應的資料型別。前提要求是在對應的action類中 定義對應的屬性 而且屬性名要與對應的請求引數的key保持一致,並提供set,get方法。主...
Struts和servlet不能共存問題解決方法
在乙個專案中,如果我們既用到了struts2又用到了servlet,專案執行時有可能無法正常訪問servlet,原因是在配置struts的過濾器的時候,攔截了所有請求。struts2 www.cppcns.comattern 下面是servlet的配置 myservlet com.itmyhome....