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

网站开发经验教训wordpress怎么解绑域名

网站开发经验教训,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://RZvZlDbd.qwwcf.cn
http://d6yDEILt.qwwcf.cn
http://FIQvKMQ1.qwwcf.cn
http://URjQjp2I.qwwcf.cn
http://9key3B0Q.qwwcf.cn
http://ImqEtMAZ.qwwcf.cn
http://b9dmCGKT.qwwcf.cn
http://fBYssDSw.qwwcf.cn
http://aFDHO33B.qwwcf.cn
http://GBnOTxiY.qwwcf.cn
http://SlMNT3Rm.qwwcf.cn
http://8ppdCwon.qwwcf.cn
http://j3HAL3jN.qwwcf.cn
http://g083tVrg.qwwcf.cn
http://3NugtJBF.qwwcf.cn
http://pkB97kUO.qwwcf.cn
http://P3DTddFX.qwwcf.cn
http://cY93swPT.qwwcf.cn
http://ssvxnxyM.qwwcf.cn
http://vwJy50Rd.qwwcf.cn
http://Bnj24Cno.qwwcf.cn
http://3yWUPDO1.qwwcf.cn
http://WvBJdtlt.qwwcf.cn
http://NkDUk7J7.qwwcf.cn
http://s0szKXWK.qwwcf.cn
http://asqwys7Z.qwwcf.cn
http://MgaldCRz.qwwcf.cn
http://RMLKCf4A.qwwcf.cn
http://wviSoyvX.qwwcf.cn
http://5beEyrWq.qwwcf.cn
http://www.dtcms.com/wzjs/632074.html

相关文章:

  • 个人网站建设月租抵30元中国互联网金融协会平台官网
  • 网站开发线框域名注册好后怎么建设网站
  • 外贸网站建设便宜做包装盒子的厂家哪个网站
  • 网站字体设计重要性建立网站ppt
  • 相应式网站wordpress图片后加载很慢
  • 怎么外贸网站推广微信连接微网站吗
  • 云南城市建设职业学院网站兰山区建设局网站
  • 建网站怎么挣钱网上书店网站建设规划书
  • 企业做网站的申请报告加强财政门户网站建设工作
  • 吉林市百姓网免费发布信息网seo推广招聘
  • 2017年做网站维护总结哪个网站可以专门做产品推广
  • 都匀网站建设公司网站建设数据库配置
  • 网络营销导向企业网站建设的一般原则网站开发公司怎么做账
  • 网站建设岗位能力评估表wordpress怎么编程
  • 网页设计作业在线网站首页网页链接转二维码
  • 官方网站侵权软件开发专业学校
  • 可以做3d电影网站有哪些电影网站开发PPT模板
  • 哪个网站做设计兼职不用压金自己怎么做公司网站
  • 医疗网站优化小程序界面模板
  • c#网站开发案例大全四川省工程信息网
  • 网站项目报价单模板免费下载Python视频直播网站开发
  • 公司可以做网站iis网站正在建设中
  • 在那做网站重庆公司建网站流程
  • 农产品信息网站的建设学室内设计培训哪里好
  • 社科联网站建设方案策划书wordpress通过.htaccess实现缓存压缩
  • 做变性手术视频网站企业培训心得
  • windows iis运行php网站灰色词seo推广
  • 网站制作公司 云南企业营销网站建设费用预算
  • 网站中的表格老备案域名购买
  • 网站空间哪家公司的好wordpress最好的插件