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

福建建设管理中心网站/个人如何在百度上做广告

福建建设管理中心网站,个人如何在百度上做广告,wordpress百度平台,酒店微信网站建设目录 1.前言 2.正文 2.1基础参数传递 2.1.1单参数 2.1.2多参数 2.2对象参数绑定 2.2.1自动封装对象 2.2.2参数别名处理 2.3集合类型处理 2.3.1数组接收 2.3.2List集合接收 2.4JSON参数处理 2.4.1介绍JSON 2.4.2传递JSON参数 2.5RESTful风格参数 2.6文件上传处理…


目录

1.前言

2.正文

2.1基础参数传递

2.1.1单参数

2.1.2多参数

2.2对象参数绑定

2.2.1自动封装对象

2.2.2参数别名处理

2.3集合类型处理

2.3.1数组接收

2.3.2List集合接收

2.4JSON参数处理

2.4.1介绍JSON

2.4.2传递JSON参数

2.5RESTful风格参数

2.6文件上传处理

2.7完整调试代码

3.小结


1.前言

哈喽大家好吖,在SpringMVC开发中,参数传递是开发者每天都要面对的核心问题。不同的业务场景需要采用不同的参数接收方式,合理的参数处理能大幅提升开发效率和代码质量。本文将通过一个完整的RequestController案例,详解10种常见参数传递方式,助你彻底掌握SpringMVC参数传递技巧。

2.正文

官方文档:Spring Framework Documentation :: Spring Frameworkhttps://docs.spring.io/spring-framework/reference/

2.1基础参数传递

2.1.1单参数

@RequestMapping("/r1")
public String r1(String keyword){return "接收参数:" + keyword;
}
  • 调用示例/request/r1?keyword=spring

  • 特点

    • 参数名与方法参数名严格匹配

    • 自动完成基本类型转换(String→int等)

    • 若参数不存在会注入null

2.1.2多参数

@RequestMapping("r2")
public String r2(String name, int id){return "receive:" + name + id;
}
  • 调用示例/request/r2?name=Alice&id=1001

  • 注意事项

    • 基本类型参数不能为null(如int)

    • 推荐使用包装类型Integer避免空指针异常

避免空指针:

@RequestMapping("r3")public String r3(Integer number){return "receive" + number;}

2.2对象参数绑定

2.2.1自动封装对象

@RequestMapping("r4")
public String r4(student s1){return "receive" + s1.toString();
}
  • 调用示例/request/r4?id=1002&name=Bob

  • 实现机制

    1. Spring自动创建Student实例

    2. 通过setter方法进行属性注入

    3. 支持嵌套对象属性绑定

2.2.2参数别名处理

@RequestMapping("/r5")
public String r5(@RequestParam(value = "n", required = false)String name){return "receive" + name;
}
  • 注解说明

    • value:指定参数别名

    • required:是否必须参数(默认true)

    • defaultValue:默认值设置


2.3集合类型处理

2.3.1数组接收

@RequestMapping("/r6")
public String r6(String[] array){return "receive" + Arrays.toString(array);
}
  • 调用方式

    • /request/r6?array=1&array=2

    • /request/r6?array=1,2,3

2.3.2List集合接收

@RequestMapping("/r7")
public String r7(@RequestParam List<Integer> list){return "receive:" + list;
}
  • 特别注意

    • 必须使用@RequestParam注解

    • 禁止使用ArrayList等具体实现类

    • 推荐使用包装类型避免转型异常

2.4JSON参数处理

2.4.1介绍JSON

JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于纯文本,使用Unicode编码,具有广泛的兼容性和灵活性,常用于网络应用之间的数据传输。


JSON格式以键值对的形式组织数据,支持两种主要的数据结构:

对象(Object)

  • 一个无序的键值对集合,用大括号“{}”括起来。

  • 键(Key)必须是字符串类型,值(Value)可以是字符串、数值、布尔值、数组、对象或null

  • 键与值之间用英文冒号“:”分隔,键值对之间用英文逗号“,”分隔。

  • 例如:

    {"name": "Kimi","age": 25,"isStudent": false,"hobbies": ["reading", "traveling"],"address": {"city": "Beijing","country": "China"}
    }

数组(Array)

  • 一个有序的值集合,用方括号“[]”括起来。

  • 数组中的值可以是任意类型,包括字符串、数值、布尔值、对象、数组或null

  • 数组中的值之间用英文逗号“,”分隔。

  • 例如:

    ["apple",123,true,null,{"key": "value"},[1, 2, 3]
    ]

在SpringMVC中,JSON参数的自动转换依赖于HttpMessageConverter体系。当检测到请求的Content-Typeapplication/json时,框架会使用MappingJackson2HttpMessageConverter进行数据绑定。

处理流程

  1. 前端发送JSON格式请求体

  2. DispatcherServlet选择匹配的消息转换器

  3. Jackson库将JSON反序列化为Java对象

  4. 通过@RequestBody注入方法参数

2.4.2传递JSON参数

@RequestMapping("/r8")
public String r8(@RequestBody student student1){return student1.toString();
}
  • 请求要求

    • Content-Type必须为application/json

    • 需要Jackson依赖支持

    • 支持嵌套复杂对象解析

  • 请求示例

    {"id": 1003, "name": "Carol"}

2.5RESTful风格参数

@RequestMapping("/path/{pathid}")
public String r9(@PathVariable Integer pathid){return "获取路径id" + pathid;
}
  • 调用示例/request/path/1004

  • 最佳实践

    • 适合资源定位场景

    • 支持正则表达式校验

    • 可配合@GetMapping等注解使用

2.6文件上传处理

@RequestMapping("/r10")
public String r10(MultipartFile file) throws IOException {file.transferTo(new File("D:\\桌面\\" + file.getOriginalFilename()));return "文件上传成功";
}
  • 表单需设置enctype="multipart/form-data"

  • 支持多文件同时上传

  • 注意文件存储路径权限问题

2.7完整调试代码

package com.example.demo;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.IOException;
import java.util.List;class student{int id;String name;public student() {}public student(int id, String name) {this.id = id;this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return super.toString();}
}@RequestMapping("/request")
@Controller
@ResponseBody
public class RequestController {@RequestMapping("/r1")public String r1(String keyword){return "接收参数:" + keyword;}@RequestMapping("r2")public String r2(String name, int id){return "receive:" + name + id;}@RequestMapping("r3")public String r3(Integer number){return "receive" + number;}@RequestMapping("r4")public String r4(student s1){return "receive" + s1.toString();}//从前端接受参数n,赋值给name@RequestMapping("/r5")public String r5(@RequestParam(value = "n", required = false)String name){return "receive" + name;}//传递数组@RequestMapping("/r6")public String r6(String[] array){return "receive" + array.toString();}//传递集合@RequestMapping("/r7")public String r7(@RequestParam List<Integer> list){return "receive:" + list;}//传递json@RequestMapping("/r8")public String r8(@RequestBody student student1){return student1.toString();}//从URL中获取参数@RequestMapping("/path/{pathid}")public String r9(@PathVariable Integer pathid){return "获取路径id" + pathid;}//上传文件@RequestMapping("/r10")public String r10(MultipartFile file) throws IOException {System.out.println(file.getOriginalFilename());file.transferTo(new File("D:\\桌面\\" + file.getOriginalFilename()));return "文件上传成功";}}

3.小结

今天的分享到这里就结束了,喜欢的小伙伴点点赞点点关注,你的支持就是对我最大的鼓励,大家加油!

http://www.cadmedia.cn/news/437.html

相关文章:

  • 中国十大房地产公司排名/信息流广告优化
  • 塘沽做网站公司/百度浏览器网页版入口
  • 营销型网站建设培训/株洲专业seo优化
  • qq业务网站平台/重庆森林经典台词罐头
  • 上饶网站建设/建网站的软件有哪些
  • 中文网站模板免费下载/怎么在百度上注册店铺
  • 做旅游攻略网站好/策划方案怎么做
  • 深圳商城网站建设报价/西安seo
  • 怎么查网站在哪备案/长沙百度
  • 百度做的网站后台怎么建设/百度竞价推广开户联系方式
  • 保障性住房建设投资中心网站/电脑培训学校在哪里
  • 温州专业网站建设/seo关键词优化软件怎么样
  • 林州风景网站建设的目的/客服外包平台
  • html网站引导页模板/源云推广
  • 网站的风格包含的因素/北京百度公司地址在哪里
  • axcure做网站ui/网络推广公司简介
  • 全球做的比较好的网站/成都网站建设创新互联
  • 辽宁省建设工程招投标协会网站/千万不要做手游推广员
  • wordpress 按点击调用热门文章/灯塔网站seo
  • 信息技术用C 做登录界面网站 csdn/微商营销技巧
  • 建设一个Web网站/百度竞价外包
  • 做外贸的几个网站/seo技术培训沈阳
  • 巨鹿网站制作/输入关键词自动生成标题
  • php网站开发怎么样/seo引擎优化怎么做
  • 菏泽网站获客网站建设公司/营销推广与策划
  • 潜江做网站的/网站推广优化排名
  • 自己做的网站怎么让别人访问/免费推广方式有哪些
  • wordpress embed 属性/西安seo关键词查询
  • 怎么网站怎么建设框架/文大侠seo
  • 做网站不想用微软雅黑了/锦州seo推广