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标签的对应类)

总结

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

相关文章

  • java中File类的三种创建文件夹方法总结

    java中File类的三种创建文件夹方法总结

    这篇文章主要给大家介绍了关于java中File类的三种创建文件夹方法,File类代表文件或目录路径名的抽象表达形式,通过File类提供的方法,我们可以很方便地创建文件夹,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • MapStruct内部错误:NullPointerException的解决方案

    MapStruct内部错误:NullPointerException的解决方案

    在Java开发中,MapStruct是一个非常流行的对象映射工具,它通过注解处理器在编译时生成映射代码,极大地简化了对象之间的转换操作,本文将详细分析一个常见的MapStruct内部错误——NullPointerException,并提供一系列解决方案,需要的朋友可以参考下
    2025-02-02
  • JAVA实现生成短链接的示例代码

    JAVA实现生成短链接的示例代码

    短链接就是将长度较长的链接压缩成较短的链接,本文就来介绍一下JAVA实现生成短链接的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • Flutter实现文本组件、图标及按钮组件的代码

    Flutter实现文本组件、图标及按钮组件的代码

    这篇文章主要介绍了Flutter实现文本组件、图标及按钮组件的代码,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • Java中SimpleDateFormat方法超详细分析

    Java中SimpleDateFormat方法超详细分析

    这篇文章主要给大家介绍了关于Java中SimpleDateFormat方法超详细分析的相关资料,SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • Spring Boot中进行 文件上传和 文件下载功能实现

    Spring Boot中进行 文件上传和 文件下载功能实现

    开发Wb应用时,文件上传是很常见的一个需求,浏览器 通过 表单形式 将 文件 以 流的形式传递 给 服务器,服务器再对上传的数据解析处理,下面将通过一个案例讲解使用 SpringBoot 实现 文件上传,感兴趣的朋友一起看看吧
    2024-07-07
  • Spring使用注解存储Bean对象的方法详解

    Spring使用注解存储Bean对象的方法详解

    在使用学习使用 Spring过程中,当我们要实现一个功能的时候,先应该考虑的是有没有相应的注解是实现对应功能的,Spring 中很多功能的配置都是可以依靠注解实现的,而本篇中介绍的是使用注解来存储 Bean 对象
    2023-07-07
  • java中线程挂起的几种方式详解

    java中线程挂起的几种方式详解

    这篇文章主要介绍了java中线程挂起的几种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Java中IO和NIO的区别详细解析

    Java中IO和NIO的区别详细解析

    这篇文章主要介绍了Java中IO和NIO的区别详细解析,IO和NIO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO快不少,需要的朋友可以参考下
    2023-11-11
  • 为什么禁止在SpringBoot项目中使用@Autowired注解

    为什么禁止在SpringBoot项目中使用@Autowired注解

    写代码的时候突然发现 idea 在属性注入的 @Autowired 注解上给出警告提示,spring framework 4.0 以后开始出现的,spring 4.0 开始就不推荐使用属性注入,改为推荐构造器注入和 setter 注入,推荐的方法是使用基于构造函数和基于setter的依赖注入
    2024-08-08

最新评论