当前位置: 首页 > article >正文

Spring web MVC(2)

1、@RequestMapping称为路由映射(既是类注解也是方法注解提供访问路径)

2、@RequestParam起到重命名的作用,也起到绑定的作用,传递集合list时会用到,多个值绑定给list,默认是必传参数如果不传参数需要设置required=false

3、JSON(javaScript对象表示法)就是数据格式,表示一个对象的数组或数组的信息,本质就是字符串,主要负责在不同的语言中数据传递和转换

JSON基本数据格式展示

也可以压缩表示,提高性能

网上有json格式检测的工具如果感觉自己的格式不知对错可以去检测一下

4、JSON代码编写

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JSONUtils {
    public static void main(String[] args) throws JsonProcessingException {
        ObjectMapper objectMapper=new ObjectMapper();
        UserInfo userInfo=new UserInfo();
        userInfo.setName("zhangsan");
        userInfo.setAge(18);
        userInfo.setId(10);

        //对象转JSON
        String s=objectMapper.writeValueAsString(userInfo);
        System.out.println(s);

        //JSON字符串转java对象
        UserInfo userInfo1=objectMapper.readValue(s,UserInfo.class);
        System.out.println(userInfo1);
    }
}

输出

5、JSON优点

6、JSON代码传递参数编写

@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String r1(@RequestBody UserInfo userInfo) {
     return userInfo.toString();
    }
}

7、获取URL中的参数(路径中大括号的参数要和Integer后面的一样才行)

@PathVariable获取路径中的参数

(1)单个参数

@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1/{articleId}")
    public  String r1(@PathVariable Integer articleId) {
     return "articleId:"+articleId;
    }
}

(2)请求多个参数时(参数必须赋值)

@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1/{articleId}/{id}")
    public  String r1(@PathVariable Integer articleId,@PathVariable Integer id) {
     return "articleId:"+articleId+"   id:"+id;
    }
}

(3)对参数进行换名字

@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1/{articleId}/{id}")
    public  String r1(@PathVariable("articleId") Integer xinId,@PathVariable Integer id) {
     return "articleId:"+xinId+"   id:"+id;
    }
}

8、获得文件

@RequestPart注解来获取文件

(1)获取文件

在这里改成上传文件

@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String r1(@RequestPart MultipartFile file) {
     return "获取上传文件:"+file.getOriginalFilename();
    }
}

(2)将获取到的文件放在指定路径下

@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String r1(@RequestPart MultipartFile file) throws IOException {
        String fileName=file.getOriginalFilename();
        file.transferTo(new File("D:/demo"+fileName));
     return "获取上传文件:"+file.getOriginalFilename();
    }
}

9、返回HTML页面

@Controller
@ResponseBody
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String getHeader()  {
        return "<h1>我是HTML页面</h1>";
}
}


http://www.kler.cn/a/272362.html

相关文章:

  • LeetCode 110.平衡二叉树
  • PortSwigger靶场练习---第二关-查找和利用未使用的 API 端点
  • 二、点灯基础实验
  • 【算法】算法基础课模板大全——第一篇
  • 多元线性回归分析
  • Mybatis面试题
  • 【STM32 定时器(二)TIM 输入捕获PWM 总结】
  • Redis-2 Redis基础数据类型与基本使用
  • 爱普生晶振发布RTC模块晶振(压电侠)
  • [Mac软件]Adobe Illustrator 2024 28.3 intel/M1/M2/M3矢量图制作软件
  • 【Canvas与艺术】砂落字现
  • LLM(大语言模型)——Springboot集成文心一言、讯飞星火、通义千问、智谱清言
  • 【学习笔记】云原生初步
  • OpenCV-Java 开发简介
  • 接雨水-热题 100?-Lua 中文代码解题第4题
  • SparkSQL读取本地文件写入MySQL
  • 【MySQL】MySQL事务
  • SpringCloudAlibaba系列之Seata实战
  • RuiYi-Vue开源项目1-下载并实现运行RuiYi-Vue项目
  • 华为云APIG跨域资源共享方案
  • RAID技术知识详解到RAID 10的linux实现过程
  • 自动部署SSL证书到阿里云腾讯云CDN
  • C到C++的敲门砖-1
  • 进入docker容器中安装软件失败解,国外源慢,时间不同步,执行命令权限不够等问题解决办法
  • 支付监控3合1工具2029版,支持自定义广告
  • npm run dev命令的执行顺序和原理