SpringMVC 和 Struts2 區別

  1. springMVC是方法級別的攔截,struts2是基於類級別的攔截
  2. Struts2有以自己的interceptor機制,SpringMVC用的是獨立的AOP方式,這樣導致 Struts2的配置文件量還是比SpringMVC大
  3. SpringMVC的入口是servlet,而Struts2是filter

簡單介紹一下Struts2的值棧?

值棧是對應每一個請求對象的數據存儲中心。Struts2的一個很重要的特點就是引入了值棧。之前我們通過緩存或者模型驅動在action和頁面之間傳遞數據,數據混亂,並且難以管理,緩存還有時間和數量限制,使用起來非常的困難。值棧的引入解決了這個問題,它可以統一管理頁面和action之間的數據,供action、result、interceptor等使用。我們大多數情況下不需要考慮值棧在哪裏,裏面有什麼,只需要去獲取自己需要的數據就可以了,大大的降低了開發人員的工作量和邏輯複雜性。

 

   4 .SpringMVC開發效率和性能高於Struts2  (體現以下幾個方面)

  1. ) Struts2每次來了請求就創建一個Action,一個Action對象對應一個request上下  ,消耗內存
  2. ) 由於Struts2需要針對每個request進行封裝,把request,session等servlet 生命週期的變量封裝成一個一個Map,供   給每個Action使用(這就解釋了爲什麼struts2獲取這些屬性值比較方便 快捷的原因),並保證線程安全, 所以在原則上,是比較耗費內存的
  3. )SpringMVC的入口是servlet,而Struts2是filter 

             Servlet的流程比較短,url來了之後就對其進行處理,處理安慰你就返回數據或者 轉向另一個頁面

             Filter的流程就比較長,在一個filter處理之後就可以轉向另一個filter進行處理, 然後再交給servet

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章