1. 程式人生 > >SpringMvc與Struts2的對比

SpringMvc與Struts2的對比

2.控制器例項:Spring Mvc會比Struts快一些(理論上)。Spring Mvc是基於方法設計,而Sturts是基於物件,每次發一次請求都會例項一個action,每個action都會被注入   屬性,而Spring更像Servlet一樣,只有一個例項,每次請求執行對應的方法即可(注意:由於是單例例項,所以應當避免全域性變數的修改,這樣會產生執行緒安全問題)。

3.管理方式:大部分的公司的核心架構中,就會使用到spring,而spring mvc又是spring中的一個模組,所以spring對於spring mvc的控制器管理更加簡單方便,而且提供了全 註解方式進行管理,各種功能的註解都比較全面,使用簡單,而struts2需要採用XML很多的配置引數來管理(雖然也可以採用註解,但是幾乎沒有公司那樣使用)。

4.引數傳遞:Struts2中自身提供多種引數接受,其實都是通過(ValueStack)進行傳遞和賦值,而SpringMvc是通過方法的引數進行接收。

5.學習難度:Struts更加很多新的技術點,比如攔截器、值棧及OGNL表示式,學習成本較高,springmvc 比較簡單,很較少的時間都能上手。

6.intercepter的實現機制:struts有以自己的interceptor機制,spring mvc用的是獨立的AOP方式。這樣導致struts的配置檔案量還是比spring mvc大,雖然struts的配置能繼承,所以我覺得論使用上來講,spring mvc使用更加簡潔,開發效率Spring MVC確實比struts2高。spring mvc是方法級別的攔截,一個方法對應一個request上下文,而方法同時又跟一個url對應,所以說從架構本身上spring3 mvc就容易實現restful url。struts2是類級別的攔截,一個類對應一個request上下文;實現restful url要費勁,因為struts2 action的一個方法可以對應一個url;而其類屬性卻被所有方法共享,這也就無法用註解或其他方式標識其所屬方法了。spring3 mvc的方法之間基本上獨立的,獨享request response資料,請求資料通過引數獲取,處理結果通過ModelMap交回給框架方法之間不共享變數,而struts2搞的就比較亂,雖然方法之間 也是獨立的,但其所有Action變數是共享的,這不會影響程式執行,卻給我們編碼,讀程式時帶來麻煩。

7.spring mvc處理ajax請求,直接通過返回資料,方法中使用註解@ResponseBody,spring mvc自動幫我們物件轉換為JSON資料。

相關推薦

終於有SpringMvcStruts2對比

6.intercepter的實現機制:struts有以自己的interceptor機制,spring mvc用的是獨立的AOP方式。這樣導致struts的配置檔案量還是比spring mvc大,雖然struts的配置能繼承,所以我覺得論使用上來講,spring mvc使用更加簡潔,開發效率Spring MVC

SpringMvcStruts2對比

2.控制器例項:Spring Mvc會比Struts快一些(理論上)。Spring Mvc是基於方法設計,而Sturts是基於物件,每次發一次請求都會例項一個action,每個action都會被注入   屬性,而Spring更像Servlet一樣,只有一個例項,每次請求執行對應的方法即可(注意:由於是單例

springmvcstruts2

視圖解析 ring jstl str nbsp req lib 存儲 前端 1、 springmvc的入口是一個servlet即前端控制器,而struts2入口是一個filter過慮器。 2、 springmvc是基於方法開發(一個url對應一個方法),請求參數傳遞到方法的

SpringMVCStruts2區別比較總結

req 攔截器 返回 方式 log 編碼 strong 原則 麻煩 1、Struts2是類級別的攔截, 一個類對應一個request上下文,SpringMVC是方法級別的攔截,一個方法對應一個request上下文,而方法同時又跟一個url對應,所以說從架構本身上Spring

SpringmvcStruts2不同

存取 響應 gmv 開發 傳遞 請求參數 view 建議 stl 1、springmvc的入口是一個servlet 即前端控制器,而struts2入口是一個filter過濾器。 2、springmvc是基於方法開發(一個url對應一個方法),請求參數傳遞到方法的形參,可以設

springmvcstruts2的不同

1、 springmvc的入口是一個servlet即前端控制器,而struts2入口是一個filter過濾器。 2、 springmvc是基於方法開發(一個url對應一個方法),請求引數傳遞到方法的形參,可以設計為單例或多例(建議單例),struts2是基於類開發,傳遞引數是通

Struts1Struts2對比分析

     Struts2其實並不是一個陌生的Web框架,Struts2是以Webwork的設計思想為核心,吸收了Struts1的優點,因此,可以認為Struts2是Struts1和Webwork結合的產物。 簡單來說二者的區別是:   

SpringMVCStruts2區別

一、框架機制 1、Struts2採用Filter(StrutsPrepareAndExecuteFilter)實現,SpringMVC(DispatcherServlet)則採用Servlet實現。 2、Filter在容器啟動之後即初始化;服務停止以後墜毀,晚於Servl

springMVCstruts2的區別

我們從以下幾個維度來區分兩者的概念:1.  機制:spring mvc的入口是servlet,而struts2是filter。    補充幾點知識:    《 Filter 實現javax.servlet.Filter介面,在web.xml中配置與標籤指定使用哪個Filter

SpringMVCStruts2區別比較

1、Struts2是類級別的攔截, 一個類對應一個request上下文,SpringMVC是方法級別的攔截,一個方法對應一個request上下文,而方法同時又跟一個url對應,所以說從架構本身上SpringMVC就容易實現restful url,而struts2的架構實現起來要費勁,因為St

SpringMVCStruts2的主要區別

區別1: Struts2 的核心是基於一個Filter即StrutsPreparedAndExcuteFilter  SpringMvc的核心是基於一個Servlet即DispatcherServlet(前端控制器) 區別2: Struts2是基於類開發的,傳遞的引數是

springmvcstruts2中獲取request物件

因為框架的不同獲取request物件的方式也會有改變: springMVC中獲取request的方式有三種: 1.使用註解: @Autowired private HttpServletReques

《JSF教程》-02 JSFStruts2Springmvc對比

                 一提到MVC框架,可能大家最熟悉的是Struts了,當然像我一樣90的程式設計師,可能一開始就是從st

[劉陽Java]_SpringMVCStruts2對比_第12講

png 時代 ava 劃分 兩個 邏輯 設計思路 面試 http 今日來具體給講講SpringMVC與Struts2的對比,這樣方便朋友們在工作中或者是面試學習中對這兩者的區別有個更好的了解 把這張圖放在這裏,我是想說SpringMVC和Struts2真的是不一樣的,雖然

收集的一些struts2springMVC之間的對比

1.易用性Spring MVC上手簡單,並且可以與Spring無縫結合,畢竟都是一個公司的產品,學習起來也比較簡單,比如從前端給物件填充值,他的處理就比Struts2簡單多了,再比如對Restful風格的URL的支援,這些Spring MVC都比Struts2做的好N倍。

純jsp,struts1,struts2,springMvc開發效能對比

看了幾篇關於三者的效能比較的文章:(這些文章和測試我並沒有做過實驗,僅用於參考)   結論如下:   注:測試都沒有資料庫,也沒有複雜業務,action和jsp中內容很簡單,目的就是測試MVC部分的效能。   1.純JSP的效能應該最高,這不難理解,JSP被編譯成Servl

springstruts2整合出現錯誤HTTP Status 500 - Unable to instantiate Action

alt 問題 blog src nbsp 文件 spa XML color 在進行spring和struts2整合的時候因為大意遇到了一個問題,費了半天神終於找到了問題所在,故分享出來望廣大博友引以為戒!! 我們都知道在spring和struts2整合時,spring接管了

JAVAEE學習——struts2_03:OGNL表達式、OGNLStruts2的結合和練習:客戶列表

數據 setvalue mage 工作 準備 nor fig 存在 dir 一、OGNL表達式   1.簡介   OGNL:對象視圖導航語言. ${user.addr.name} 這種寫法就叫對象視圖導航。  OGNL不僅僅可以視圖導航.支持比EL表達式更加豐富的功能

SpringMVCmybatis整合

工程 信息 一、逆向工程生成基礎信息<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Confi

HibernateMybatis對比

hibernate mybatis Hibernate與Mybatis對比前言 今天同事跟我說現在的公司很少用hibernate,大部門都用mybatis。平時也經常接觸這兩方面,正好最近不怎麽忙,查看網上其他相關技術文檔 ,梳理下Mybatis和Hibernate對比,加深我們對持久化