码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

  • 相关阅读:
    数字城市:科技革命下的未来之城
    vue处理边界情况
    平曲线坐标、反算桩号计算程序
    力扣(226.112)补9.8
    leetcode-304——二维区域和检索-矩阵不可变
    【蓝桥杯国赛真题06】python绘制菱形圆环 蓝桥杯青少年组python编程 蓝桥杯国赛真题解析
    Linux安装Redis数据库,无需公网IP实现远程连接
    C# 实现xlsx文件导入
    Nacos学习笔记
    Ubuntu宝塔面板命令下载的install.sh文件为空,安装不了宝塔,如何解决
  • 原文地址:https://blog.csdn.net/m0_73345579/article/details/134385581
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号