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

springMVC第一天

 

 来看几个例子 , 秒懂 , 很简单

//http://localhost/param5?username=zhangsan&age=18@GetMapping("/param5")public String param5(@RequestParam Map<String,String> map){map.forEach((k,v)->{System.out.println(k+"==>"+v);});return "/index.jsp";}//http://localhost/param4?hobby=zq&hobby=pq&hobby=tq@GetMapping("/param4")public String param4(@RequestParam List<String> hobby){for (String s : hobby) {System.out.println(s);}return "/index.jsp";}//http://localhost/param3?hobby=zq&hobby=pq&hobby=tq@GetMapping("/param3")public String param3(String[] hobby){for (String s : hobby) {System.out.println(s);}return "/index.jsp";}//http://localhost/param2?username=zhangsan&age=18@GetMapping("/param2")public String param2(@RequestParam(value="username",required = false,defaultValue = "haohao") String name, Integer age){System.out.println(name+"===="+age);return "/index.jsp";}//http://localhost/param1?username=zhangsan&age=18@RequestMapping("/param1")public String param1(String username,int age){System.out.println(username+"===="+age);return "/index.jsp";}

来看第二种方式

 

 用一个user类封装信息 , 很方便 ,(SpringMVC容器已经帮我们把User对象创建了)

    //http://localhost/param6?username=zhangsan&age=18&hobbies=zq&hobbies=pq&birthday=2018/11/11&address.city=tj&address.area=bh@GetMapping("/param6")public String param6(User user){System.out.println(user);return "/index.jsp";}

3.传递json数据

第一步、导入json坐标

    <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency>

第二步 ,在springmvc.xml配置文件导入配置

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"><property name="messageConverters"><list><bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/></list></property></bean>

 

第三步 .配置映射路径及方法资源

  //http://localhost/param9@PostMapping("/param9")public String param9(@RequestBody User user) throws JsonProcessingException {System.out.println(user);return "/index.jsp";}
@RequestBody 与 @RequestParam
区别 :

@RequestParam用于接收url地址传参,表单传参[application/x-www-form-urlencoded]

@RequestBody用于接收json数据[application/json]

应用
后期开发中,发送json格式数据为主,@RequestBody应用较广

如果发送非json格式,选用@RequestParam格式接收请求参数

相关文章:

  • 统计zabbix指定日期内的告警数量
  • C陷阱和缺陷--第二章 “语法陷阱”
  • MyBatis---初阶
  • 【C语言】中的位操作符和移位操作符,原码反码补码以及进制之间的转换
  • Leetcode刷题笔记题解(C++):203. 移除链表元素
  • Spring Boot项目中TaskDecorator的应用实践
  • 第六十四天 服务攻防-框架安全CVE复现Apache shiroApache Solr
  • 如何使用Coded UI Test对Webpage进行自动化测试
  • FlashMeeting(基于FFmpeg+openCV)视频语音通讯系统
  • Java 爬虫 jvppeteer
  • 美易平台:全球金融市场一周前瞻G20会议至美联储纪要,关键事件点评
  • 【研究生复试】计算机软件工程人工智能研究生复试——资料整理(速记版)——自我介绍(英文)
  • .net 微服务 服务保护 自动重试 Polly
  • Java 面向对象进阶 10 多态中调用成员的特点(黑马)
  • 代码随想录刷题第38天
  • Angular 2 DI - IoC DI - 1
  • express + mock 让前后台并行开发
  • Java的Interrupt与线程中断
  • js数组之filter
  • laravel5.5 视图共享数据
  • Node + FFmpeg 实现Canvas动画导出视频
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Python 反序列化安全问题(二)
  • Python中eval与exec的使用及区别
  • ReactNative开发常用的三方模块
  • vue-cli在webpack的配置文件探究
  • 回顾2016
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 普通函数和构造函数的区别
  • 最近的计划
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • (+4)2.2UML建模图
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .CSS-hover 的解释
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • @angular/cli项目构建--http(2)
  • []FET-430SIM508 研究日志 11.3.31
  • [BZOJ 1040] 骑士
  • [C]编译和预处理详解
  • [CSS]CSS 字体属性
  • [k8s系列]:kubernetes·概念入门
  • [LeetCode 127] - 单词梯(Word Ladder)
  • [LeetCode]Max Points on a Line
  • [Mac软件]Boxy SVG 4.20.0 矢量图形编辑器
  • [nlp] tokenizer
  • [noip2015 d1t2] 信息传递
  • [NSSCTF]-Web:[SWPUCTF 2021 新生赛]easyrce解析
  • [poj3686]The Windy's(费用流)
  • [Power Query] 数据的拆分、提取与合并