zoukankan      html  css  js  c++  java
  • spring mvc 前后端数据交互笔记(解决415,400问题)

    1:前端发送数据,后端返回界面
         
    A:浏览器
     
    $.ajax({
        url: "/rest/userController/login",
        type: "post",
        data: {"username": "chenhao", "password": "123456"}
    });
    B:服务端
     
    @RequestMapping("/login")
    public String  login(@Valid User user){
       if(userService.login(user)){
            return "index";
       }
       return "login";
    }
     
     
    注意:后端的参数user类型也可以为Map类型,但是最好使用自定义的实体类,可以通过注解@valid可以对user实体类校验。
     
    2:前端发送数据,后端返回json数据(从requestParameter中取数据)
     
    A:浏览器
     
    $.ajax({
        url: "/rest/userController/test",
        type: "post",
        dataType: "json",
        data: {"a":"b"}
    });
     
    B:服务器端
     
    @RequestMapping("/test")
    @ResponseBody
    public  Map<String, Object> test( Map<String, Object> user){
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("user", user);
        return map;
    }
     
    3:前端发送数据,后端返回json数据(从requestBody中取数据)
     
    A:浏览器
     
    $.ajax({
        url: "/rest/userController/test",
        type: "post",
        dataType: "json",
        contentType: "application/json",
        data: JSON.stringify({"a":"b"})
    });
    B:服务端
     
    @RequestMapping("/test")
    @ResponseBody
    public  Map<String, Object> test(@RequestBody Map<String, Object> user){
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("user", user);
        return map;
    }
     
    4:后端数据接收注意点
    spring-mvc的配置文件中需要配置如(需要对应的json的jar包):
     
    MappingJacksonHttpMessageConverter和MappingJackson2HttpMessageConverter对应的是不一样的jackson包
     
    <!--json数据转换 -->
    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property value="application/json" name="supportedMediaTypes"/>
    </bean>
  • 相关阅读:
    减肥 day1
    这两天的学习内容
    小马激活工具激活系统导致系统崩溃
    mac OS X下Java项目环境搭建+IntelliJ IDEA Jrebel插件安装与破解+Office 2016破解版安装
    JDK 动态代理实现原理
    php ajax提交post请求出现数组被截断情况的解决方法
    mac OS X下git代码行统计命令
    mac OS X下安装Redis及Thinkphp3.1使用Redis
    linux服务器git pull/push时提示输入账号密码之免除设置
    linux服务器修改ftp默认21端口方法
  • 原文地址:https://www.cnblogs.com/chenhao1990/p/4797968.html
Copyright © 2011-2022 走看看