这篇文章提供了对Spring MVC Web应用程序的REST调用的简单示例。 它基于在Spring MVC上下文示例中使用Spring MVC服务静态资源和使用Ajax获取JSON 。 该代码可在GitHub的Spring-REST-With-Ajax目录中找到。

主页

我们的主页包含与执行Ajax调用的Javascript函数链接的四个按钮:

...
<body>
<h1>Welcome To REST With Ajax !!!</h1>
<button type='button' onclick='RestGet()'>GET</button>
<button type='button' onclick='RestPut()'>PUT</button>
<button type='button' onclick='RestPost()'>POST</button>
<button type='button' onclick='RestDelete()'>DELETE</button>
</body>
...

Java脚本

我们的Javascript文件包含四个功能:

var prefix = '/spring-rest-with-ajax';var RestGet = function() {$.ajax({type: 'GET',url:  prefix + '/MyData/' + Date.now(),dataType: 'json',async: true,success: function(result) {alert('At ' + result.time+ ': ' + result.message);},error: function(jqXHR, textStatus, errorThrown) {alert(jqXHR.status + ' ' + jqXHR.responseText);}});
}var RestPut = function() {var JSONObject= {'time': Date.now(),'message': 'User PUT call !!!'};$.ajax({type: 'PUT',url:  prefix + '/MyData',contentType: 'application/json; charset=utf-8',data: JSON.stringify(JSONObject),dataType: 'json',async: true,success: function(result) {alert('At ' + result.time+ ': ' + result.message);},error: function(jqXHR, textStatus, errorThrown) {alert(jqXHR.status + ' ' + jqXHR.responseText);}});
}var RestPost = function() {$.ajax({type: 'POST',url:  prefix + '/MyData',dataType: 'json',async: true,success: function(result) {alert('At ' + result.time+ ': ' + result.message);},error: function(jqXHR, textStatus, errorThrown) {alert(jqXHR.status + ' ' + jqXHR.responseText);}});
}var RestDelete = function() {$.ajax({type: 'DELETE',url:  prefix + '/MyData/' + Date.now(),dataType: 'json',async: true,success: function(result) {alert('At ' + result.time+ ': ' + result.message);},error: function(jqXHR, textStatus, errorThrown) {alert(jqXHR.status + ' ' + jqXHR.responseText);}});
}

控制者

我们的控制器捕获REST调用并返回JSON。 在实际的应用程序中,将执行CRUD操作而不是返回JSON:

@Controller
@RequestMapping(value = '/MyData')
public class MyRESTController {@RequestMapping(value='/{time}', method = RequestMethod.GET)public @ResponseBody MyData getMyData(@PathVariable long time) {return new MyData(time, 'REST GET Call !!!');}@RequestMapping(method = RequestMethod.PUT)public @ResponseBody MyData putMyData(@RequestBody MyData md) {return md;}@RequestMapping(method = RequestMethod.POST)public @ResponseBody MyData postMyData() {return new MyData(System.currentTimeMillis(),'REST POST Call !!!');}@RequestMapping(value='/{time}', method = RequestMethod.DELETE)public @ResponseBody MyData deleteMyData(@PathVariable long time) {return new MyData(time, 'REST DELETE Call !!!');}
}

运行示例

编译后,可以使用mvn tomcat:run运行该示例。 然后,浏览:

http:// localhost:8585 / spring-rest-with-ajax /

将显示主页:

如果单击任何按钮,将显示一个弹出窗口:

见这里为更多关于REST•多个Spring相关的帖子在这里 。

参考: 技术说明博客上的JCG合作伙伴 Jerome Versrynge的Spring MVC REST使用Ajax进行了调用 。

翻译自: https://www.javacodegeeks.com/2012/11/spring-mvc-rest-calls-with-ajax.html

使用Ajax的Spring MVC REST调用相关推荐

  1. jqgrid mvc_jqGrid,REST,AJAX和Spring MVC集成

    jqgrid mvc 两年多以前,我写了一篇关于如何在Struts2中实现优雅的CRUD的文章. 实际上,我必须就该主题写两篇文章,因为该主题如此广泛. 今天,我采用了一套更为流行的,完善的框架和库, ...

  2. jqGrid,REST,AJAX和Spring MVC集成

    两年多以前,我写了一篇关于两个如何在Struts2中实现优雅的CRUD的文章. 实际上,我必须就该主题写两篇文章,因为该主题如此广泛. 今天,我采用了一套更为流行的,完善的框架和库,采用了更为轻量级的 ...

  3. ajax modelmap,spring mvc+ajax处理JSON返回前台的方法

    在 Spring mvc3中,响应.接受 JSON都十分方便. 使用注解@ResponseBody可以将结果(一个包含字符串和JavaBean的Map),转换成JSON. 使用 @RequestBod ...

  4. ajax modelmap,Spring MVC ModelMap.md

    近来发现controller里有不同的处理返回数据的方式,其中包括ModelMap不明白是如何处理数据返回的,所以在此记录如下: 1.说到如何处理返回数据,要涉及到jsp的九大内置对象及其作用域 2. ...

  5. mvc 一般注释_使用带有注释和JQuery的Spring MVC 3的Ajax

    mvc 一般注释 与Ajax一起工作对我来说一直很有趣! 是不是 ? 我将使您轻松将Ajax与Spring MVC 3和JQuery结合使用. 这篇文章将向您说明如何在工业编码的现实生活中使用Ajax ...

  6. 使用带有注释和JQuery的Spring MVC 3的Ajax

    与Ajax一起工作对我来说一直很有趣! 是不是 ? 我将使您轻松将Ajax与Spring MVC 3和JQuery结合使用. 这篇文章将向您说明如何在工业编码的现实生活中使用Ajax. 和往常一样,我 ...

  7. Spring MVC和JQuery用于Ajax表单验证

    在本教程中,我们将看到如何使用Ajax和Spring MVC和JQuery在服务器端验证表单. Spring MVC为通过注释驱动的配置采用Ajax提供了非常方便的过程. 我们将使用此注释驱动的配置以 ...

  8. Spring MVC 原理 - DispatcherServlet调用完整过程

    本篇主要讲解了Spring mvc的调用过程,通过这个过程来了解Spring的原理. 进入web.xml中配置的Spring拦截(调度)器: 调用堆栈信息: 开始拦截,这一步主要是根据request获 ...

  9. spring mvc 返回json数据到ajax报错parseerror问题

    最近使用ajax接收spring mvc传过来的json数据时总是出现parseerror的错误,错误源码如下: 前端: $.ajax({type: 'POST',url: "groupFu ...

最新文章

  1. spring之继承配置
  2. python中requests库的用途-数据爬虫(三):python中requests库使用方法详解
  3. linux的同步与互斥
  4. 从头开始复习css之2D变换
  5. kotlin使用代码javaClass或class.java报错:unresolved reference
  6. C++仿Java反射机中字符串创建类的思想,初步实现
  7. 在CentOS4上安装JMagick
  8. 解决Latex编译报错:Command `\Bbbk‘ already defined. ...ol{\Bbbk} {\mathord}{AMSb}{“7C}
  9. NetCore控制台实现自定义CommandLine功能
  10. 基于C#的安全聊天工具设计
  11. Pr零基础入门指南笔记二
  12. Vue进阶(六十八):JS 判断当前浏览器是否为 IE
  13. SPARC架构下的反汇编(四)——SPARC汇编语言(二)
  14. 计算机工程学院团总支学生会,凝聚团队力量,展现青春活力——计算机工程学院团总支学生会开展学生干部素质拓展活动...
  15. 【AirSim】Windows下搭建AirSim
  16. win7cmd闪退_Win7运行bat批处理闪退怎么解决
  17. mysql的interval()引出的
  18. 推荐一款免费的cdn加速网站
  19. 主题 07:如何进行 Java 系统性能优化(下)
  20. 无数据蒸馏方向文献_1

热门文章

  1. 用python绘制图形_使用Python的turtle画炫酷图形
  2. springboot:BeanPostProcessor示例及分析
  3. jdbc如何写csv文件_Java:将JDBC结果集作为CSV流化
  4. switch字符串jdk_JDK 12 Early Access Build 12中的原始字符串文字支持
  5. Java 8 Stream中间操作(方法)示例
  6. junit测试线程_一个在自己的线程中运行测试的JUnit规则
  7. jedis与redis_Redis与Jedis排序
  8. MongoDB索引策略和索引类型
  9. 使用Spock Mocks进行Grails 3.3集成测试
  10. 带有Gradle的Spring Boot Web应用程序