Spring:spring-webmvc和spring-web有哪些区别

 更新时间:2024年01月02日 08:40:46   作者:非著名JAVA程序员  
这篇文章主要介绍了Spring:spring-webmvc和spring-web有哪些区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

MVC 和web MVC ,SpringMVC和Spring web MVC的关系与区别?

1.MVC 是一种架构分层模式

2.web MVC 是指在 web 领域下实践的 MVC,因为 web 领域的视图层跟 native 应用的视图层不太能划等号

3.Spring MVC 和 Spring Web MVC 是同一个东西,就是 Spring Framework 里的一个模块。在 Spring Framework 介绍页面 写的是 Spring MVC,然而点进去后具体的描述页面 使用 Spring Web MVC 来称呼

文档里有这么一句话:

The formal name “Spring Web MVC” comes from the name of its source module spring-webmvc but it is more commonly known as “Spring MVC”.

所以说正式名称叫 Spring Web MVC,不过大多数人都喜欢叫 Spring MVC。

区别

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>

vs

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>

1.spring-web 提供核心的HTTP集成,包括一些方便的Servlet过滤器,Spring HTTP

Invoker,与其他Web框架和HTTP技术(例如Hessian,Burlap)集成的基础结构,spring-web的依赖:

序列化技术 protobuf,gson,hession,

http 工具 httpclient,okhttp

netty 依赖

spring 框架依赖 spring-aop,spring-beans,spring-context,spring-core,spring-oxm

2.servlet 依赖 javax.servlet-apispring-webmvc是Spring MVC的一个实现。spring-webmvc依赖spring- web,因此包括它会传递性增加spring-web。您不必spring-web显式添加。

如果您不使用Spring MVC,但想利用Spring支持的其他与Web相关的技术,则应该仅依赖spring-web。

stackoverflow参考:https://stackoverflow.com/questions/13533700/maven-dependency-spring-web-vs-spring-webmvc

工程结构差别

spring-web

spring-web提供核心的HTTP集成,包括一些方便的Servlet过滤器,Spring HTTP Invoker,用于与其他Web框架和HTTP技术集成的基础设施。 

http(http协议的实现类)和web包(应用,上下文,会话,cookies,过滤器等等)

比如大家都熟悉的web.xml里的引入:

<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

spring-web还提供 对远程调用和远程服务的支持。

spring-web-mvc

spring-mvc提供了基于spring的web的MVC模式,webmvc主要是增加了对spring MVC的支持,包括一些view层的核心封装,提供各前端技术及标签支持,restful协议、国际化等模块。 

view层的核心封装,提供各前端技术及标签支持。 

servlet包(各种view引擎:FreeMarker,Velocity,Jasper,Tiles,Grooy的配置;各种处理器;国际化i118n;mvc中的Controller的定义;基于cookies,会话的主题配置;各种HTML标签的对应类)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • springBoot集成flowable的流程解析

    springBoot集成flowable的流程解析

    这篇文章主要介绍了springBoot集成flowable的流程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • Java 实现随机验证码功能简单实例

    Java 实现随机验证码功能简单实例

    这篇文章主要介绍了Java 实现随机验证码功能简单实例的相关资料,需要的朋友可以参考下
    2017-04-04
  • Spring使用三级缓存解决循环依赖的问题

    Spring使用三级缓存解决循环依赖的问题

    本文给大家分享Spring使用三级缓存解决循环依赖的问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-06-06
  • Java基础总结之Thymeleaf详解

    Java基础总结之Thymeleaf详解

    Thymeleaf是一种现代的基于服务器端的Java模板引擎技术,也是一个优秀的面向Java的XML、XHTML、HTML5页面模板,它具有丰富的标签语言、函数和表达式,在使用Spring Boot框架进行页面设计时,一般会选择Thymeleaf模板,需要的朋友可以参考下
    2021-05-05
  • Java软件生产监控工具Btrace使用方法详解

    Java软件生产监控工具Btrace使用方法详解

    这篇文章主要介绍了Java软件生产监控工具Btrace使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 利用maven deploy上传本地jar至私服的方法

    利用maven deploy上传本地jar至私服的方法

    这篇文章主要介绍了利用maven deploy上传本地jar至私服的方法,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • IDEA修改java文件后 不用重启Tomcat服务便可实现自动更新

    IDEA修改java文件后 不用重启Tomcat服务便可实现自动更新

    这篇文章主要介绍了IDEA修改java文件后 不用重启Tomcat服务便可实现自动更新,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java延时执行的三种实现方式

    Java延时执行的三种实现方式

    本文主要介绍了Java延时执行的三种实现方式,主要包括了Thread.sleep()方法,.sleep()使用Timer类或使用ScheduledExecutorService接口,感兴趣的可以了解一下
    2023-12-12
  • java使用定时器实现监听数据变化

    java使用定时器实现监听数据变化

    这篇文章主要为大家详细介绍了Java如何使用定时器监听数据变化,当满足某个条件时(例如没有数据更新)自动执行某项任务,有兴趣的可以了解下
    2023-11-11
  • Spring Boot中Elasticsearch的连接配置原理与使用详解

    Spring Boot中Elasticsearch的连接配置原理与使用详解

    在Spring Boot中,我们可以通过Elasticsearch实现对数据的搜索和分析,本文将介绍Spring Boot中Elasticsearch的连接配置、原理和使用方法,感兴趣的可以了解一下
    2023-09-09

最新评论