怎么自己做网站吗淘宝网页版下载

pingmian/2025/10/7 12:27:24/文章来源:
怎么自己做网站吗,淘宝网页版下载,最新闻头条新闻,济南正宗网站建设平台1.1 访问路径设置 RequestMapping注解的作用就是将请求的 URL 地址和处理请求的方式#xff08;handler方法#xff09;关联起来#xff0c;建立映射关系。 SpringMVC 接收到指定的请求#xff0c;就会来找到在映射关系中对应的方法来处理这个请求。 1.1.1 精准路径匹配…1.1 访问路径设置 RequestMapping注解的作用就是将请求的 URL 地址和处理请求的方式handler方法关联起来建立映射关系。 SpringMVC 接收到指定的请求就会来找到在映射关系中对应的方法来处理这个请求。 1.1.1 精准路径匹配 Controller public class UserController {/*** 精准设置访问地址 /user/login*/RequestMapping(value {/user/login})ResponseBodypublic String login(){System.out.println(UserController.login);return login success!!;}1.1.2 模糊路径匹配 在RequestMapping注解指定 URL 地址时通过使用通配符匹配多个类似的地址。 Controller public class ProductController {/*** 路径设置为 /product/* * /* 为单层任意字符串 /product/a /product/aaa 可以访问此handler * /product/a/a 不可以* 路径设置为 /product/** * /** 为任意层任意字符串 /product/a /product/aaa 可以访问此handler * /product/a/a 也可以访问, /product/a/a/a还可以访问* * 将来的配置拦截器也遵循这个规则*/RequestMapping(/product/*)ResponseBodypublic String show(){System.out.println(ProductController.show);return product show!;} }1.1.3 类和方法级的RequestMapping 设置到类级别RequestMapping 注解可以设置在控制器类上用于映射整个控制器的通用请求路径。这样如果控制器中的多个方法都需要映射同一请求路径就不需要在每个方法上都添加映射路径。设置到方法级别RequestMapping 注解也可以单独设置在控制器方法上用于更细粒度地映射请求路径和处理方法。当多个方法处理同一个路径的不同操作时可以使用方法级别的 RequestMapping 注解进行更精细的映射。并且, 可以将两者结合优化代码的实现 : //1.标记到handler方法Controllerpublic class UserController {RequestMapping(value {/user/login})ResponseBodypublic String login(){System.out.println(UserController.login);return login success!!;}RequestMapping(value {/user/register})ResponseBodypublic String register(){System.out.println(UserController.register);return register success!!;} }//2.优化标记类handler方法//类上定位到/userRequestMapping(/user)Controllerpublic class UserController {//handler方法上再进一步指明RequestMapping(value {/login})ResponseBodypublic String login(){System.out.println(UserController.login);return login success!!;}RequestMapping(value {/register})ResponseBodypublic String register(){System.out.println(UserController.register);return register success!!;} }1.1.4 请求方法限制 HTTP 协议定义了八种请求方式在 SpringMVC 中封装到了下面这个枚举类 public enum RequestMethod {GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE }默认情况下RequestMapping所注解的方法/类, 任何请求方式都可以对接过来可以在在RequestMapping中增加一个字段methodRequestMethod.xxx来指定请求方式 ,可同时指定多种请求方式 :违背请求方式会出现405异常 Controller public class UserController {/*** 精准设置访问地址 /user/login* method RequestMethod.POST 可以指定单个或者多个请求方式!* 注意:违背请求方式会出现405异常!*/RequestMapping(value {/user/login} , method RequestMethod.POST)ResponseBodypublic String login(){System.out.println(UserController.login);return login success!!;}/*** 指定多种请求方式*/RequestMapping(value {/user/register},method {RequestMethod.POST,RequestMethod.GET})ResponseBodypublic String register(){System.out.println(UserController.register);return register success!!;}}1.1.5 优化请求方法限制的代码 : RequestMapping 的 HTTP 方法特定快捷方式变体 GetMappingPostMappingPutMappingDeleteMappingPatchMapping 注意进阶注解只能添加到handler方法上无法添加到类上 RequestMapping(value/login,methodRequestMethod.GET) || GetMapping(value/login)1.1.7 GetMapping和PostMapping : 安全性 涉及敏感数据或操作时使用POST请求可能更安全。因为GET请求的参数直接暴露在URL中可能会被记录在服务器日志或浏览器历史记录中而POST请求的参数通常在请求体中相对更安全。请求体 如果操作需要接收复杂的请求体例如JSON或表单数据使用POST请求更为合适。POST请求的请求体可以用于传递较大或复杂的数据。RESTful设计原则 根据RESTful原则GET请求用于读取资源而POST请求用于创建或修改资源。 1.1.6常见问题 : 出现原因多个 handler 方法映射了同一个地址导致 SpringMVC 在接收到这个地址的请求时该找哪个 handler 方法处理。 There is already ‘demo03MappingMethodHandler’ bean method com.atguigu.mvc.handler.Demo03MappingMethodHandler#empGet() mapped. 1.2 接收参数 1.2.1 param和json参数比较 在 HTTP 请求中我们可以选择不同的参数类型如 param 类型和 JSON 类型。下面对这两种参数类型进行区别和对比 参数编码 param 类型的参数会被编码为 ASCII 码。例如假设 namejohn doe则会被编码为 namejohn%20doe。而 JSON 类型的参数会被编码为 UTF-8。 参数顺序 param 类型的参数没有顺序限制。但是JSON 类型的参数是有序的。JSON 采用键值对的形式进行传递其中键值对是有序排列的。 数据类型 param 类型的参数仅支持字符串类型、数值类型和布尔类型等简单数据类型。而 JSON 类型的参数则支持更复杂的数据类型如数组、对象等。 嵌套性 param 类型的参数不支持嵌套。但是JSON 类型的参数支持嵌套可以传递更为复杂的数据结构。 可读性 param 类型的参数格式比 JSON 类型的参数更加简单、易读。但是JSON 格式在传递嵌套数据结构时更加清晰易懂。 总的来说param 类型的参数适用于单一的数据传递而 JSON 类型的参数则更适用于更复杂的数据结构传递。根据具体的业务需求需要选择合适的参数类型。在实际开发中常见的做法是在 GET 请求中采用 param 类型的参数而在 POST 请求中采用 JSON 类型的参数传递。 1.2.2 param参数接收 直接传值 例如客户填写表单后 , 参数直接放在链接中传递: 此时在handler中 , 只要形参名和类型都与传递参数一一对应.即可自动接收 : Controller RequestMapping(param) public class ParamController {/*** 前端请求链接 : localhost:8080/param/value?name你好age18* 利用形参列表,直接接收前端传递的param参数!* 要求: 参数名 形参名* * 类型相同* 出现乱码正常json接收具体解决* return 返回前端数据*/GetMapping(value/value)ResponseBodypublic String setupForm(String name,int age){System.out.println(name name , age age);return name age;} }直接传值有一个显然的缺点 , 形参和传递参数并不一定同名也一一对应(例如用户干脆就不填age) RequestParam注解传值 (仅可在形参列表中声明) RequestParam使用场景 指定绑定的请求参数名要求请求参数必须传递 (默认为必须传递)为请求参数提供默认值 /*** 前端请求: http://localhost:8080/param/data?namexxstuAge18* * 使用RequestParam注解标记handler方法的形参* 指定形参对应的请求参数RequestParam(请求参数名称)*/ GetMapping(value/data) ResponseBody //通过RequestPararm注解,指定传递参数name赋给形参name , // 指定stuAge传给age , 且修改为不必须传递 , 设定默认值18 public Object paramForm(RequestParam(value name) String name, RequestParam(value stuAge,required false,defaultValue 18) int age){System.out.println(name name , age age);//return nameage; }默认情况下使用RequestPararm注解的方法参数是必需的但可以通过将 RequestParam 注解的 required 标志设置为 false 特殊场景接值 a. 一名多值 需求 : 多选框提交的数据的时候一个key对应多个值我们可以使用集合进行接收 /*** 前端请求: http://localhost:8080/param/mul?hbs吃hbs喝* 一名多值,可以使用集合接收即可!但是需要使用RequestParam注解指定*/GetMapping(value/mul)ResponseBodypublic Object mulForm(RequestParam ListString hbs){System.out.println(hbs hbs);return hbs;}b. 实体接收 优点 : 可以在方法内部直接使用对象的属性来访问请求参数而不需要每个参数都写一遍。 缺点 : 由于是通过对象传值 , 无法采用RequestParam绑定形参和传递参数 , 因此二者的属性名必须要相同 . 即User类内部定义的是name和age,那么传递参数的名也必须是name和age. 定义一个用于接收参数的实体类 public class User {private String name;private int age 18;// getter 和 setter 略 }在控制器中使用实体对象接收示例代码如下 Controller RequestMapping(param) public class ParamController {POSTMapping(value /user)ResponseBodypublic String addUser(User user) {// 在这里可以使用 user 对象的属性来接收请求参数System.out.println(user user);return success;} }在上述代码中将请求参数name和age映射到实体类属性上要求属性名必须等于参数名否则无法映射 使用postman传递参数测试 1.2.3 接收JSON参数(RequestBody) RequestBody 注解来将 JSON 数据转换为 Java 对象RequestBody 注解表示当前方法参数的值应该从请求体中获取并且需要指定 value 属性来指示请求体应该映射到哪个参数上 定义一个用来接收json数据的实体类 public class Person {private String name;private int age;private String gender;// getter 和 setter 略 }前端发送 JSON 数据的示例使用postman测试 {name: 张三,age: 18,gender: 男 }在控制器中使用 RequestBody 注解来接收 JSON 数据并将其转换为 Java 对象: PostMapping(/person) ResponseBody public String addPerson(RequestBody Person person) {// 在这里可以使用 person 对象来操作 JSON 数据中包含的属性return success; }Java原生只支持param传参和路径传参 , json是前端定义的格式 .因此需要做两件事. a. 导入json依赖 b.handlerAdapter配置json转化器(即在config类上增加EnableWebMvc) dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.15.0/version /dependency此时运行程序 可以接收到传来的json。 插播一条EnableWebMvc注解 原本MvcConfig类中我们需要重写handlerMappinghandlerAdapter两个方法上例中又加入了一个新需求即配置一个json转化器。然而这一切只需要MvcConfig上声明一个EnableWebMvc注解即可实现。 1.2.4 路径参数接收(动态传参) 先理解是什么: http://localhost:8080/user/login?accountrootpassword12345 || http://localhost:8080/user/root/12345 即将每个参数视为路径 , 这就是路径传参路径传递参数是一种在 URL 路径中传递参数的方式。在 RESTful 的 Web应用程序中经常使用路径传递参数来表示资源的唯一标识符或更复杂的表示方式。Spring MVC 框架提供了 PathVariable 注解来处理路径传递参数 , 该注解允许将 URL 中的占位符映射到控制器方法中的参数。 例如如果我们想将 /user/{id} 路径下的 {id} 映射到控制器方法的一个参数中则可以使用 PathVariable 注解来实现。 /*** 动态路径设计: /user/{动态部分}/{动态部分} 动态部分使用{}包含即可! {}内部动态标识!* 形参列表取值: PathVariable Long id 如果形参名 {动态标识} 自动赋值!* PathVariable(动态标识) Long id 如果形参名 ! {动态标识} 可以通过指定动态标识赋值!* 和RequestParama一样 , 通过value属性绑定两个属性(PathVariable(valuestuAge) int age)*///动态路径设计, 可在形参列表获取传入的参数 GetMapping(/user/{id}/{name}) ResponseBody //形参列表获取参数, 分别传入上头的GetMapping和下面的方法 public String getUser(PathVariable Long id, PathVariable(name) String uname) {System.out.println(id id , uname uname);return user_detail; }//访问测试: /param/user/1/root 可得结果: id 1 uname root

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89363.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

南山建站公司现在做个app多少钱

今天25学堂跟大家推荐一款非常有趣和简单的APP图标生成工具:Iconion Icon Generator(iconion图标生成器) 我们可以用它来创建美丽的扁平化图标,长投影图标,桌面图标,社会媒体图标和移动APP图标等&#xff0…

网站建设公司 岗位网站没有备案会怎样

目录 1.串口通信的基础知识串口通信(Serial Communication)同步/异步?全双工?常见的串口软件的参数 2.STC32的串口通信实现原理引脚选择模式选择 3.串口通信代码实现编写串口1通信程序测试 总结 1.串口通信的基础知识 百度百科:串口通信的概…

网站设计师专业品牌建设之道有哪些

FreeSql 支持功能丰富的表达式函数解析,方便程序员在不了解数据库函数的情况下编写代码。这是 FreeSql 非常特色的功能之一,深入细化函数解析尽量做到满意,所支持的类型基本都可以使用对应的表达式函数,例如 日期、字符串、IN查询…

仿木鱼网络网站郑州第一附属医院不孕不育科

【问题描述】 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S "time#bell#" 和 indexes [0, 2…

大理网站建设滇icp备设计网官方网站

前言 在前面我们通过如何创建自定义组件一文知道了如何如何自定义组件以及自定义组件的相关注意事项,接下来我们认识一下页面和自定义组件生命周期。 自定义组件和页面的关系 在开始之前,我们先明确自定义组件和页面的关系 自定义组件:Co…

网站功能的介绍用Wordpress建的网站有

系统环境 下载压缩包 下载压缩包 解压压缩包 查看解压文件 编译安装 编译 安装 用户权限和环境变量设置 创建用户 创建数据目录和日志目录 设置权限 设置环境变量 初始化数据库 数据库访问控制配置文件 postgresql.conf pg_hba.conf PostgreSQL启动与关闭 手…

营销型网站建设是什么erp生产订单管理系统

Html5响应式全开源网站建站源码系统是基于Html5、CSS3和JavaScript等技术开发的全开源网站建站系统。它旨在为初学者和小型企业提供一套快速、简便的网站建设解决方案。该系统采用响应式设计,可以自适应不同设备的屏幕大小,提高用户体验。同时&#xff0…

网站建设行业衰落网站 租用服务器

1.全局配置文件及常用的配置项 Window 1)小程序窗口的组成部分 2)window结点常用的配置项 3)设置导航栏的标题 4)设置导航栏的背景色 这个颜色仅支持“#”开头的十六进制颜色,不能直接使用如:red&#x…

苏州住房与城乡建设局网站自己做的网站打开太慢

一,简介 Kotlin协程引入了非常强大的异步编程模型,通过挂起而不是阻塞来实现并发操作。以下是有关Kotlin协程挂起和阻塞的详细介绍: 挂起(Suspending): 挂起是指一个协程的执行可以在不阻塞线程的情况下暂…

免费软件制作网站模板一个app一年可以赚多少

Mac下载的软件显示文件已损坏,如何解决文件已损坏问题,让文件可以正常运行 设备/引擎:Mac(11.6)/Mac Mini 开发工具:终端 开发需求:让显示已损坏的文件顺利安装到电脑 大家肯定都遇到过下载…

河北智慧团建网站登录wordpress怎么添加网盘下载

Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了…

河南省安阳市建设银行网站绵阳市建设工程质监站网站

目录 背景 项目架构 核心流程1——执行器自动注册 核心流程2——调度任务 特性——分片广播 背景 为什么需要任务调度平台? 单机定时任务 Java中传统的定时任务实现方案,比如JDK 1.3 提供的 Timer、JDK 1.5 提供的 ScheduledExecutorService、Spring 3.0 提…

网站开发成本预算价目表广告有限公司

这种是预定义查询的一种形式 (1)在 Entity 下增加 NamedQuery 定义。 public interface NamedQuery {//query的名称,规则:实体.方法名;String name();//具体的JPQL查询语法String query(); } 需要注意,这…

it培训网站成都网推公司

兄弟,你理解错了。可以看看官方文档。Android的储存空间分两块:Internal storage和External storageInternal storage总是可用的,不需要额外权限,这里的文件默认只能被我们的app所访问。可以通过Context下的getFilesDir()方法获取…

网站建设进度表下载建设部网站不支持360

目录 C/C新冠疫情死亡率 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C新冠疫情死亡率 2020年9月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 2020年全世界爆发了新冠疫情,请…

石河子规划建设局网站电子商务网站建设任务分解

类型通配符 类型通配符<?> 一般用于接受使用&#xff0c;不能够做添加List<?>&#xff1a;表示元素类型未知的list&#xff0c;它的元素可以匹配任何类型带通配符的List仅表示它是各种泛型List的父类&#xff0c;并不能把元素添加到其中类型通配符上限&#xff1…

备案停止网站杭州网页设计

题目链接 串联所有单词的子串 题目描述 注意点 words[i] 和 s 由小写英文字母组成1 < words.length < 5000可以以 任意顺序 返回答案words中所有字符串长度相同 解答思路 根据滑动窗口哈希表解决本题&#xff0c;哈希表存储words中所有的单词及单词的出现次数&#…

网站开发培训机构哪个好建立站点的作用

昨日&#xff0c;一位能给工程师代码打分的“AI评委”引发了热议。起因是在2019阿里巴巴“83行代码挑战赛”决赛现场&#xff0c;一位运行在云端的AI评委和现场的专家评委、大众评委配合&#xff0c;一起对选手提交的的代码做综合评价。 “AI是否会取代工程师”的话题再次在网络…

深圳网站建设网页制作wordpress修改登录地址

相关具体的开发者与SDK链接如下&#xff1a; GoSDKJavaScript SDK 网页链接 测试网申请链接Github存储库链接开发者网址AIgorand官网Telegram电报群综合白皮书MediumNaver Blog领英Linkedin区块链浏览器INC公示钱包地址基金会公示钱包地址Telegram电报群官方 Github地址 相关…

个人做旅游网站怎样网站开发排名

1. 前言 本篇梳理和总结React中常用的Hook函数。 欢迎大家来到Hook的世界&#xff0c;真的贼好用~ 2. 常用Hook函数 Hook说明示例useState(initialState) 功能&#xff1a;为函数组件添加状态变量&#xff0c;输入可是基本数据类型或引用数据类型&#xff0c;也可以是不带参数…