Spring web MVC(2)

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

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

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

JSON基本数据格式展示

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

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

4、JSON代码编写

java 复制代码
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代码传递参数编写

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

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

@PathVariable获取路径中的参数

(1)单个参数

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

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

java 复制代码
@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)对参数进行换名字

java 复制代码
@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)获取文件

在这里改成上传文件

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

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

java 复制代码
@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>";
}
}
相关推荐
qq 17780362235 分钟前
智能新时代,游戏盾守护顺畅体验
运维·服务器·网络·游戏·云计算·ddos·ip
神秘的土鸡2 小时前
Linux中使用Docker容器构建Tomcat容器完整教程
linux·运维·服务器·docker·容器·tomcat
shuxianshrng2 小时前
大气网格化精细化监管监测系统
大数据·服务器·windows·经验分享
friklogff2 小时前
【C#生态园】构建你的C#操作系统:框架选择与实践
服务器·开发语言·c#
TravisBytes2 小时前
linux 系统是如何收发数据包
linux·运维·服务器
平头哥在等你4 小时前
《计算机网络名词解释》
服务器·网络·计算机网络
德迅--文琪4 小时前
SCDN是服务器吗?SCDN防御服务器有什么特点?
运维·服务器
ice___Cpu4 小时前
Linux 基本使用和 web 程序部署 ( 8000 字 Linux 入门 )
linux·运维·前端
z202305084 小时前
linux 之0号进程、1号进程、2号进程
linux·运维·服务器
秋已杰爱4 小时前
HTTP中的Cookie与Session
服务器·网络协议·http