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

做网站百度百科seo模拟点击工具

做网站百度百科,seo模拟点击工具,上海网络推广的方法,福州 网站建设目录 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.dtcms.com/wzjs/263839.html

相关文章:

  • 网站排名提升软件seosem是什么职位
  • 荆州企业网站建设如何在百度投放广告
  • 在哪里申请网站域名泰州seo公司
  • 网站关键字在哪里设置南昌seo代理商
  • ipv6地址可以做网站吗长春网站建设方案推广
  • 秦皇岛网站制作的流程杭州百度推广
  • 合肥 企业网站设计网络营销方案设计范文
  • 怎样申请免费网站域名关键词热度分析
  • 王建设的网站千锋教育培训怎么样
  • 网站建设开发公司地址私域流量运营管理
  • 营销型网站建设的费用报价单seo快速工具
  • 临沂做网站推广的公司有关闭站长工具seo综合查询
  • 北京做网站比较好的公司seo如何去做优化
  • 日本真人做爰直播网站郑州网站顾问热狗网
  • 建设监理杂志网站企业专业搜索引擎优化
  • 长沙网站制作中国国家培训网正规吗
  • 上海专业的网站建设公司南宁优化网站网络服务
  • 做视频网站用什么格式好网站建设百度推广
  • 外包做网站价格长沙专业竞价优化首选
  • 埃及网站后缀推广赚钱的平台有哪些
  • 有哪些做海报的网站seo外链优化
  • 网站换域名seo怎么做官方app下载安装
  • 广州市外贸网站建设服务机构无排名优化
  • 做网站建设最好的公司是冯耀宗seo博客
  • 游戏网站开发有限公司公司网站建设价格
  • 网站开发怎么做网站是否含有seo收录功能
  • 电子商务网站建设经费电商培训内容有哪些
  • 网站建设策划书百度seo搜索排名
  • 外贸企业网站改版网站优化建议怎么写
  • 正规专业短期培训学校优化seo系统