SpringMVC 学习笔记心得(六)JSON数据+AJAX(ASCYN)请求

1)、静态资源拦截问题

DispatcherServlet会拦截到所有的资源,导致一个问题就是静态资源(img、css、js)也会被拦截到,从而
不能被使用。解决问题就是需要配置静态资源不进行拦截,在springmvc.xml配置文件添加如下配置

  1. mvc:resources标签配置不过滤
    1). location元素表示webapp目录下的包下的所有文件
    2). mapping元素表示以/static开头的所有请求路径,如/static/a 或者/static/a/b
 <!-- 设置静态资源不过滤 -->
    <mvc:resources location="/css/" mapping="/css/**"/> <!-- 样式 -->
    <mvc:resources location="/images/" mapping="/images/**"/> <!-- 图片 --> 
    <mvc:resources location="/js/" mapping="/js/**"/> <!-- javascript -->

2)、json转换为对象

1).实体类User

public class User implements Serializable {

    private String username;//姓名
    private String password;//密码
    private Integer age;//年龄
    }

2).前端页面编写AJAX(原生阿贾克斯的实现)

<script>
        /*  全局函数  */
        $(function () {
            $("#btn01").click(function () {
              $.ajax({
                  url:"test/testAjax",  //请求路径
                  contentType:"application/json;charset=utf-8", //设置编码请求格式
                  data:'{"username":"哈哈","password":"123445","age":23}', //传入的数据
                  datatype:"json", //数据类型
                  type:"post", //请求类型
                  success:function (data) { //请求成功返回类型
                      alert(data)
                  }
              })
            });
        });
    </script>

3).标注controller为回写数据(@ResponseBody)注解,如果不了解这些注解,小编给出传送门-----> SpringMVC 学习笔记心得(四)常用注解详解

  @RequestMapping("/testAjax")
    public @ResponseBody User testAjax(@RequestBody User user) {
        System.out.println(user);
        user.setPassword("123123");
        user.setAge(29);
        return user;
    }

4). json字符串和JavaBean对象互相转换的过程中,需要使用jackson的jar包

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

5).返回的data就被转换为对象了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43409994/article/details/106380851
今日推荐