欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中struts2和spring MVC的區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

 更新時(shí)間:2017年09月04日 10:16:45   投稿:mrr  
這篇文章主要介紹了Java中struts2和spring MVC的區(qū)別,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧

1、Struts2是類級(jí)別的攔截, 一個(gè)類對(duì)應(yīng)一個(gè)request上下文,SpringMVC是方法級(jí)別的攔截,一個(gè)方法對(duì)應(yīng)一個(gè)request上下文,而方法同時(shí)又跟一個(gè)url對(duì)應(yīng),所以說從架構(gòu)本身上SpringMVC就容易實(shí)現(xiàn)restful url,而struts2的架構(gòu)實(shí)現(xiàn)起來要費(fèi)勁,因?yàn)镾truts2中Action的一個(gè)方法可以對(duì)應(yīng)一個(gè)url,而其類屬性卻被所有方法共享,這也就無法用注解或其他方式標(biāo)識(shí)其所屬方法了。

2、SpringMVC的方法之間基本上獨(dú)立的,獨(dú)享request response數(shù)據(jù),請(qǐng)求數(shù)據(jù)通過參數(shù)獲取,處理結(jié)果通過ModelMap交回給框架,方法之間不共享變量。

3、由于Struts2需要針對(duì)每個(gè)request進(jìn)行封裝,把request,session等servlet生命周期的變量封裝成一個(gè)一個(gè)Map,供給每個(gè)Action使用,并保證線程安全,所以在原則上,是比較耗費(fèi)內(nèi)存的。

4、 攔截器實(shí)現(xiàn)機(jī)制上,Struts2有以自己的interceptor機(jī)制,SpringMVC用的是獨(dú)立的AOP方式,這樣導(dǎo)致Struts2的配置文件量還是比SpringMVC大。

5、SpringMVC的入口是servlet,而Struts2是filter(這里要指出,filter和servlet是不同的。以前認(rèn)為filter是servlet的一種特殊),這就導(dǎo)致了二者的機(jī)制不同,這里就牽涉到servlet和filter的區(qū)別了。

6、SpringMVC集成了Ajax,使用非常方便,只需一個(gè)注解@ResponseBody就可以實(shí)現(xiàn),然后直接返回響應(yīng)文本即可,而Struts2攔截器集成了Ajax,在Action中處理時(shí)一般必須安裝插件或者自己寫代碼集成進(jìn)去,使用起來也相對(duì)不方便。

7、SpringMVC驗(yàn)證支持JSR303,處理起來相對(duì)更加靈活方便,而Struts2驗(yàn)證比較繁瑣,感覺太煩亂。

8、Spring MVC和Spring是無縫的。從這個(gè)項(xiàng)目的管理和安全上也比Struts2高(當(dāng)然Struts2也可以通過不同的目錄結(jié)構(gòu)和相關(guān)配置做到SpringMVC一樣的效果,但是需要xml配置的地方不少)。

9、 設(shè)計(jì)思想上,Struts2更加符合OOP的編程思想, SpringMVC就比較謹(jǐn)慎,在servlet上擴(kuò)展。

10、SpringMVC性能高于Struts2。

11、SpringMVC可以認(rèn)為已經(jīng)100%零配置。

總結(jié)

以上所述是小編給大家介紹的struts2和spring MVC的區(qū)別,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • SpringCloud Config使用配置方法

    SpringCloud Config使用配置方法

    這篇文章給大家介紹SpringCloud Config使用及構(gòu)建配置中心的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-07-07
  • Java Swing 多線程加載圖片(保證順序一致)

    Java Swing 多線程加載圖片(保證順序一致)

    這篇文章主要為大家詳細(xì)介紹了Java Swing 多線程加載圖片,保證順序一致,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • springboot在idea下debug調(diào)試熱部署問題

    springboot在idea下debug調(diào)試熱部署問題

    這篇文章主要介紹了springboot在idea下debug調(diào)試熱部署問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • JAVACORE與HEAPDUMP生成方法

    JAVACORE與HEAPDUMP生成方法

    JavaCore文件主要保存的是Java應(yīng)用各線程在某一時(shí)刻的運(yùn)行的位置,即JVM執(zhí)行到哪一個(gè)類、哪一個(gè)方法、哪一個(gè)行上,它是一個(gè)文本文件,打開后可以看到每一個(gè)線程的執(zhí)行棧,以stack?trace的顯示,本文介紹JAVACORE與HEAPDUMP生成大法,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • SpringBoot中進(jìn)行事務(wù)回滾的方法

    SpringBoot中進(jìn)行事務(wù)回滾的方法

    在Spring Boot中,可以使用TransactionTemplate或@Transactional注解來進(jìn)行事務(wù)管理,本文主要介紹了SpringBoot中進(jìn)行事務(wù)回滾的方法,感興趣的可以了解一下
    2023-11-11
  • Mybatis-Plus處理Mysql?Json類型字段的詳細(xì)教程

    Mybatis-Plus處理Mysql?Json類型字段的詳細(xì)教程

    這篇文章主要給大家介紹了關(guān)于Mybatis-Plus處理Mysql?Json類型字段的詳細(xì)教程,Mybatis-Plus可以很方便地處理JSON字段,在實(shí)體類中可以使用@JSONField注解來標(biāo)記JSON字段,同時(shí)在mapper.xml中使用json函數(shù)來操作JSON字段,需要的朋友可以參考下
    2024-01-01
  • Java實(shí)現(xiàn)接月餅小游戲的示例代碼

    Java實(shí)現(xiàn)接月餅小游戲的示例代碼

    本文將用Java語言自制一個(gè)小游戲:《接月餅小游戲》,游戲規(guī)則為不要被月亮砸到,盡可能地多接月餅。文中的實(shí)現(xiàn)代碼講解清晰,感興趣的可以動(dòng)手試一試
    2022-02-02
  • Java中ThreadLocal?導(dǎo)致內(nèi)存?OOM?的原因分析

    Java中ThreadLocal?導(dǎo)致內(nèi)存?OOM?的原因分析

    這篇文章主要介紹了Java中ThreadLocal導(dǎo)致內(nèi)存OOM的原因分析,文章基于Java的相關(guān)內(nèi)容展開ThreadLocal導(dǎo)致內(nèi)存OOM的原因分析,需要的小伙v阿布可以參考一下
    2022-05-05
  • Java FileDescriptor總結(jié)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java FileDescriptor總結(jié)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    FileDescriptor 是“文件描述符”??梢员挥脕肀硎鹃_放文件、開放套接字等。接下來通過本文給大家分享Java FileDescriptor總結(jié),感興趣的朋友一起學(xué)習(xí)吧
    2017-05-05
  • 解析java中This的用法分析

    解析java中This的用法分析

    本篇文章是對(duì)java中This的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評(píng)論