SpringMVC应用的控制器需要依赖表现层(view)技术,在服务端把数据渲染成html后返回给浏览器,而RESTful应用的控制器直接返回一个对象,这个对象会被spring转成json格式写到http响应中。
以下是一个简单的RESTful控制器:

@RestController
public class GreetingController {private static final String template = "Hello, %s!";private final AtomicLong counter = new AtomicLong();@GetMapping("/greeting")public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) {return new Greeting(counter.incrementAndGet(), String.format(template, name));}
}

可以看到该控制器直接return一个对象。

RESTful应用一般用在前后端分离的项目,RESTful应用返回的json数据可以被前端项目(如nodejs)渲染成html后再返回给浏览器。SpringMVC一般用在前后端不分离的项目,因为View层已经完成了HTML的渲染。

参考文献:https://spring.io/guides/gs/rest-service/

SpringMVC应用和RESTful应用的区别相关推荐

  1. Spring boot (6)---SpringMVC框架和spring Boot的区别

    SpringMVC框架和spring Boot的区别 1.我们知道Spring是一个一站式框架功能十分强大,就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是S ...

  2. SpringMVC、Spring和Struts的区别

    一.Spring 首先,结合到自己对于Spring的使用,我明确的一点是,Spring严格上来说,并不是一种框架.它相当于一个粘合剂,黏合了别的框架或者组件.所以,spring是一个容器!为什么用Sp ...

  3. 【SSM 1】SpringMVC、Spring和Struts的区别

    导读:近期做到的项目中,用到的框架师SSM(SpringMVC+Spring+Mybatis),那么在这之前用过SSH,这里主要是区分一下SpringMVC和Struts,但是由于SpringMVC和 ...

  4. REST和RESTful有什么区别

    REST系统和RESTful系统之间有什么区别? 从我最常阅读的几件事中,所谓的REST服务实际上就是RESTful服务. 那么两者之间有什么区别. #1楼 " REST服务"和& ...

  5. SpringMVC中post和get的区别:

    这是一篇我在CSDN上的第一篇博客,请大家多多支持. 在前面我先声明:这篇文章的内容基本上都是网上各博客的,我只是整理一下,给需要的人梳理一下而已. 首先先放个人觉得比较好的关于post和get的区别 ...

  6. SpringMVC如何实现restful接口

    今天看一个SpringMVC的项目,然后编写接口,并通过前台的ajax调用来访问接口,当然这所有的一切好像都没有什么问题,你看下面是我们的ajax, function sendMessage() {v ...

  7. Restful与webService区别

    有好多人问我们在设计底层服务的时候到底是应该选择目前最流行的RestFul架构还是选择老牌的webService呢?今天我就将这两个概念做一下阐述,到底什么情况下选择什么比较合理. 首先需要了解:RE ...

  8. springmvc中@PathVariable和@RequestParam的区别

    顾名思义, @PathVariable和@RequestParam,分别是从路径里面去获取变量,也就是把路径当做变量,后者是从请求里面获取参数. 我的url;  http://localhost:80 ...

  9. SpringMVC拦截器-interceptor和filter区别

    关于interceptor和filter的区别,如图所示:

最新文章

  1. echart x轴标签偏移_移动端H5页面滑动手势X轴实例
  2. K项目轶事之被客户通报批评
  3. 批处理中的****1nul 2nul
  4. 基于数组的无锁队列(译)
  5. sap abap好用的函数
  6. C语言 枚举,进制,原码,反码,补码,移码,结构体
  7. [HNOI2010]BOUNCE 弹飞绵羊
  8. 看网络电子围栏如何做好周界安防
  9. php 分割二维数组,拆分二维数组 php
  10. hdu 3221 Brute-force Algorithm(高速幂取模,矩阵高速幂求fib)
  11. 高分屏更改Adobe Premier CC UI界面字体大小
  12. 单细胞测序最新研究进展(2021年7月)
  13. html 苹果适应,苹果CMS自适应模板(1)
  14. 句柄Hwnd 与 窗口Wnd的联系
  15. VS2019源码,通过基址+偏移修改软件内阳光数值(植物大战僵尸单机版)
  16. 转行网络工程师,软考和华为认证选哪个?
  17. Jeecg 任意文件下载漏洞
  18. 单词迷阵游戏就是从一个10x10的字母矩阵中找出目标单词,查找方向可以从左往右、从右往左、从上往下或者从下往上。例如下面的迷阵中包含quot等单词。
  19. PCL教程-点云滤波之体素滤波器(下采样)
  20. nbu恢复mysql_使用NBU进行oracle异机恢复

热门文章

  1. python爬虫有什么用处-python为什么叫爬虫 python有什么优势
  2. python切片语法-如何在Python中使用省略号切片语法?
  3. python怎么判断一个文件是否存在-利用Python如何判断一个文件是否存在
  4. python画函数曲线-使用Python画数学函数曲线
  5. 怎么自学python自动化测试-学习自动化测试,如何学习Python语言?
  6. python好学吗 小木虫-25行Python代码完成人脸识别
  7. 在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
  8. git遇到错误: Failed connect to github.com:443
  9. VS2013 编译程序时提示 无法查找或打开 PDB 文件
  10. Opengl-光照-基本光照-光照贴图(现在告别单调的方块弄个箱子)