• 11.3SpringMVC


    一.概念

    1.SpringMvc: 

    a.构建在Servlet(api)基础上.

    b.是一个Web框架(HTTP).

    c.来自于Spring webMVC模块.

    2.MVC

    fa362beda0e946aa94129b553aaa35f7.jpeg

    二.注册路由的注解

    1.@RequestMapping("/test") // 路由注册

    注意: 这个注解在类和方法上都要使用,代表不同等级的路由.

    2.@RestController

    a)@ResponseBody // 告诉程序我返回的是一个数据而非页面
    b)@Controller // 让框架启动的时候加载当前(只有加载的类,别人才能使用[访问])

    注意: @RestController = @ Controller + @ ResponseBody

    3.方法注解: @RequestMapping(valve ="/hi", method = RequestMethod.POST)(一般用下面两种方法)

    a)@PostMapping("/hi")

    b)@GetMapping("/hi")

    三.传参(参数名相同)

    1.形参类型使用包装类, 否则(使用基础类型)如果前后端传参错误会报错500.

    2.对应多参数,使用对象传参(类在后端实现好),前端传这个类中全部的属性.

    3.后端参数映射(重命名): 使用注解@RequestParam

    7e13a6b2378e467491232bacecd030fd.png

    注意: 重命名之后,默认参数必须传递,可以改为不必须传递.

    3e2e03a4963342c386ee7f2668f91dd5.png

    4.JSON: 使用注解@RequestBody

    7fb2bb438d9b40eaafd6ca78ce591b0a.png

    注意: Get方法不能再Body中传输数据. 

    5.URL传参: 使用注解@PathVariable

    415806462a9142af91aca5bb78834660.jpg

    ae46a263a38a4bb8b3f13a4e8bd7dce0.jpg

    6.文件传输(图片,文本,MP3......): 使用注解@RequestPart,注意格式.

    4af05a7ab4ac48478cc5dd2ec9368e18.jpg

    dcf8a7b44a134feeacdc4ebded91f48d.jpg

    7.获取Cookie:

    注意: SpringMVC中内置了HttpServletRequest和HttpServletResponse,所以Servlet的那一套方法在这里都可以使用.

    a.古老方法: 使用servlet

    b.新方法: 使用注解@CookieValue

    f60ac9d96a3c4eac8e86c4437facd0e2.jpg

    8.获取Header: 使用注解@RequestHeader

    c49e16f3f11a4e7880d705a7ccdc1569.jpg

    作用:用来获取用户设备类型和浏览器版本号.

    9.设置Session: 只能使用古老方法.

    10.获取Session: 两种方法

    a.古老方法.

    b.新方法: 使用注解@SessionAttribute

    7eaed46072e948529a6fe1b736523d95.jpg

    四.返回

    1.返回json格式: HashMap对象

    9948592338ca4504b85a65fde2b3dd51.jpg

    2.重定向和转发

    da7189d638164a1394778ae6dfa0f3d0.jpg

  • 相关阅读:
    尚硅谷Vue3入门到实战,最新版vue3+TypeScript前端开发教程
    微信小程序发布一个npm包
    Unity 动画性能和优化
    Spring/SpringBoot自定义线程池
    Linux操作文档——Oracle数据库备份与恢复
    基于 JuiceFS 的 KubeSphere DevOps 项目数据迁移方案
    基于攻防博弈的网络防御决策方法研究综述
    Tekla查询零件
    一文搞定防盗链设计
    ffmpeg 命令行 pcm 编码 MP3
  • 原文地址:https://blog.csdn.net/m0_73345579/article/details/134385581