SpringMVC第五讲:SpringMVC实现AJAX及JSON格式转换

这篇具有很好参考价值的文章主要介绍了SpringMVC第五讲:SpringMVC实现AJAX及JSON格式转换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

十、SpringMVC实现AJAX及JSON转换器

10、1Spring MVC实现AJAX

AJAX异步提交是页面与程序交互的重要手段之一,在SpringMVC中,也支持页面向Controller控制器发送异步请求。页面发送异步请求时,常使用JSON格式数据进行数据传输。但是当页面需要向Controller控制器发送异步请求时,需要注意以下几个问题:

  • SpringMVC的静态资源:在SpringMVC中,需要在SpringMVC配置文件中设置放行静态资源
  • SpringMVC接收请求时的格式及配置
  • SpringMVC处理响应时的方式

10、2JSON格式转换

10、2、1SpringMVC配置文件中设置放行静态资源

引入依赖资源

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-core</artifactId>
  <version>2.12.1</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.12.1</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-annotations</artifactId>
  <version>2.12.1</version>
</dependency>

<!--DispatcherServlet请求映射配置为 /,springMVC将捕获WEB容器的所有请求,包括静态资源的请求,SpringMVC会将他们当成一个普通请求处理,因找不到对应处理器将导致错误。此配置它会对进入 DispatcherServlet 的请求进行筛查,如果发现是没有经过映射的请求,就将该请求交由 WEB 应用服务器默认的 Servlet 处理,如果不是静态资源的请求,才由DispatcherServlet 继续处理-->
<mvc:default-servlet-handler/>
<!--配置资源时还可以使用其他标签对静态资源单独放行-->
<!--
		<mvc:resources mapping="/js/**" location="/js/"/>
    <mvc:resources mapping="/css/**" location="/css/"/>
    <mvc:resources mapping="/img/**" location="/img/"/>
		mapping属性:匹配静态资源全路径,其中“/**”表示文件夹及其子文文件夹下的某个具体文件。
		location属性:该属性用于设置需要访问的本地静态资源文件的路径。
-->
<!--这个标签会帮我们注入很多关键而实用的bean,包括RequestMapping映射分发,也是SpringMVC的@Controller分发请求所必需的,并且提供了数据绑定支持-->
<mvc:annotation-driven/>
10、2、2@RequestBody注解

当页面发送AJAX请求时,如果请求的数据格式为JSON格式时,需要在形参上加入@RequestBody注解,@RequestBody注解可以帮助我们实现对数据的绑定

@RequestMapping(value = "/saveCharging",method = RequestMethod.POST)
public Charging saveCharging(@RequestBody Charging charging){
  ModelAndView modelAndView=new ModelAndView();
  chargingService.save(charging);
  //modelAndView.setViewName("redirect:/findAll");
  return charging;
}
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
  <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
      <head>
        <title>新增充电桩</title>
        <script src="js/jquery-3.7.0.js"></script>
        <script>
          $(function () {
            $("#btn").click(function () {
              $.ajax({
                url:"/saveCharging",
                type:"POST",
                //传输格式必须是JSON,如果仅以数据传递,则无法封装数据,普通数据根据参数名SpringMVC会自动封装,JSON格式需要配置@RequestBody
                data:JSON.stringify({
                  chargingName:$("#chargingName").val(),
                  chargingAddress:$("#chargingAddress").val(),
                  chargingMax:$("#chargingMax").val(),
                  chargingTypeId:$("#chargingTypeId").val()
                }),
                //传输格式为JSON格式时,需要配置请求内容格式及编码格式
                contentType:"application/json;charset=UTF-8",
                dataType:"JSON",
                success:function (data) {
                  console.log(data);
                }
              });
            });
          });
        </script>
      </head>
      <body>
        充电桩维护人:<input type="text" name="chargingName" id="chargingName">
        充电桩地址:<input type="text" name="chargingAddress" id="chargingAddress">
        充电桩电量:<input type="text" name="chargingMax" id="chargingMax">
        充电桩分类:<select name="chargingTypeId" id="chargingTypeId">
        <c:forEach items="${chargingTypeList}" var="chargingType">
          <option value="${chargingType.chargingTypeId}">${chargingType.chargingTypeName}</option>
        </c:forEach>
        </select>
        <button id="btn">新增</button>
      </body>
    </html>

10、2、3@ResponseBody注解

@ResponseBody注解作用于方法上,用于将Controller控制器方法的返回值,直接作为响应内容响应到浏览器上。文章来源地址https://www.toymoban.com/news/detail-557867.html

@ResponseBody
@RequestMapping(value = "/saveCharging",method = RequestMethod.POST)
public Charging saveCharging(@RequestBody Charging charging){
  ModelAndView modelAndView=new ModelAndView();
  chargingService.save(charging);
  //modelAndView.setViewName("redirect:/findAll");
  return charging;
}

到了这里,关于SpringMVC第五讲:SpringMVC实现AJAX及JSON格式转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringMVC(八)处理AJAX请求

    首先我们创建一个新的工程: 我们将pom.xml复制过来: 我们进行添加web.xml:  进行创建web.xml: 之后我们进行创建springmvc.xml配置文件:

    2024年01月21日
    浏览(31)
  • 10、SpringMVC之处理Ajax请求

    创建名为spring_mvc_ajax的新module,过程参考9.1节和9.5节 @RequestBody 注解用于将请求体中的内容和控制器方法中的形参进行绑定 页面请求示例,见10.1.1节 mvc的注解驱动,在配置视图控制器和默认的servlet处理器的时候,已经开启;其重要性不言而喻 匹配json格式的Java类型,一般是

    2024年02月06日
    浏览(37)
  • [SpringMVC]请求与响应③(JSON数据传输参数、日期类型参数传递、内部实现原理)

    前面我们说过,现在比较流行的开发方式为异步调用。前后台以异步方式进行交换,传输的数据使用的是 JSON ,所以前端如果发送的是JSON数据,后端该如何接收? 对于JSON数据类型,我们常见的有三种: json普通数组([\\\"value1\\\",\\\"value2\\\",\\\"value3\\\",...]) json对象({key1:value1,key2:value2,...})

    2024年02月08日
    浏览(52)
  • SpringMVC 怎么和 AJAX 相互调用的

    通过 Jackson 框架就可以把 Java 里面的对象直接转化成 Js 可以识别的 Json 对象。 步骤如下 : a、加入 Jackson.jar b、在配置文件中配置 json 的映射 c、在接受 Ajax 方法里面可以直接返回 Object,List 等,但方法前面要加上@ResponseBody 详细步骤: 在 SpringMVC 中配置一个控制器来处理 AJAX

    2024年02月15日
    浏览(36)
  • SpringMVC | SpringMVC中的 “JSON数据交互“ 和 “RESTful设计风格“

    作者简介 :一只大皮卡丘,计算机专业学生,正在努力学习、努力敲代码中! 让我们一起继续努力学习! 该文章 参考学习教材 为: 《Java EE企业级应用开发教程 (Spring + Spring MVC +MyBatis)》 黑马程序员 / 编著 文章以课本知识点 + 代码为主线,结合自己看书学习过程中的理解和

    2024年04月10日
    浏览(46)
  • SpringMVC06:Json交互处理

    目录 一、什么是JSON? 二、代码测试 1、新建一个module,SpringMVC-05-json,添加web支持和lib包 2、在index.jsp中编写测试内容 3、配置tomcat,启动项目,在浏览器中打开,查看控制台输出  4、controller返回JSON数据 5、代码优化 1、乱码统一解决 2、返回json字符串统一解决 六、测试集合

    2024年02月08日
    浏览(43)
  • SpringMVC JSON数据处理见解6

    springmvc 默认使用jackson作为json类库,不需要修改applicationContext-servlet.xml任何配置,只需引入以下类库springmvc就可以处理json数据: @RequestBody:作用是接收前端ajax传递给后端的json字符串,并将json格式的数据转为java对象 @ResponseBody:作用是将java对象转为json格式的数据传递给前台

    2024年01月18日
    浏览(34)
  • 【SpringMVC】JSON注解&全局异常处理机制

    🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是 Java方文山 ,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《Spring MVC》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,这个专栏都能满足你的需求。我会用最简单易懂的语言,带你走进Spring

    2024年02月08日
    浏览(36)
  • SpringMVC原理分析 | JSON、Jackson、FastJson

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! JSON( JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript (European Computer Manufacturers Association,欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表

    2024年02月08日
    浏览(36)
  • SpringMVC项目请求(JSON数据传输参数)

    现在比较流行的开发方式为异步调用。前后台以异步方式进行交换,传输的数据使用的是 JSON ,所以前端如果发送的是JSON数据,后端该如何接收? 对于JSON数据类型,我们常见的有三种: json普通数组([“value1”,“value2”,“value3”,…]) json对象({key1:value1,key2:value2,…}) json对象

    2023年04月18日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包