网站内容建设总结网站反向绑定域名

news/2025/10/7 16:47:12/文章来源:
网站内容建设总结,网站反向绑定域名,如何用iis部署网站,沈阳seo全网营销目录 认识 Spring MVC什么是 Spring MVCMVC 的定义 Spring MVC 注解的运用1. Spring MVC 的连接RequestMapping 注解 2. 获取参数获取单个参数获取多个参数传递对象表单传参后端参数重命名RequestBody 接收 JSON 对象PathVariable 获取 URL 中的参数上传文件 RequestPart获取 C… 目录 认识 Spring MVC什么是 Spring MVCMVC 的定义 Spring MVC 注解的运用1. Spring MVC 的连接RequestMapping 注解 2. 获取参数获取单个参数获取多个参数传递对象表单传参后端参数重命名RequestBody 接收 JSON 对象PathVariable 获取 URL 中的参数上传文件 RequestPart获取 Cookie/Session/Header 3. 返回数据 认识 Spring MVC 什么是 Spring MVC Spring MVC正式名称Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架从⼀开始就包含在 Spring 框架中。 Spring MVC 是⼀个 Web 框架Spring MVC 是基于 Servlet API 构建的 MVC 的定义 MVC 是 Model View Controller 的缩写它是软件⼯程中的⼀种软件架构模式它把软件系统分为模型、视图和控制器三个基本部分。 MVC 执行流程 用户的请求首先到 ControllerController 将请求转发给 ModelModel 处理业务并将数据结果返回给 ControllerController 将处理的数据发给 ViewView 将数据转换成页面发送给用户 MVC 是⼀种思想⽽ Spring MVC 是对 MVC 思想的具体实现。 总结来说Spring MVC 是⼀个实现了 MVC 模式并继承了 Servlet API 的 Web 框架。既然是 Web框架那么当⽤户在浏览器中输⼊了 url 之后我们的 Spring MVC 项⽬就可以感知到⽤户的请求. 在创建 Spring Boot 项⽬时我们勾选的 Spring Web 框架其实就是 Spring MVC 框架。 Spring MVC 注解的运用 连接的功能将⽤户浏览器和 Java 程序连接起来也就是访问⼀个地址能够调⽤到我们的 Spring 程序。获取参数的功能⽤户访问的时候会带⼀些参数在程序中要想办法获取到参数。输出数据的功能执⾏了业务逻辑之后要把程序执⾏的结果返回给⽤户 1. Spring MVC 的连接 首先创建一个 TestController 类来实现用户与 Spring 程序的交互 import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;Controller //让该类随着 Spring 框架启动而加载 ResponseBody //返回非页面数据这个注解在返回数据中讲解 //RestController 相当于Controller ResponseBody RequestMapping(/test) //路由器规则注册一级路由 public class TestController {RequestMapping(/hi) //路由器规则注册二级路由public String sayHi() {System.out.println(hi Spring MVC);return h1 你好 Spring MVC h1;} }通过浏览器地址访问来与程序交互 可以看到通过我们访问地址 http://localhost:8080/test/hi 就可以执行sayHi 方法并返回字符串到页面上了。 这里注意 spring mvc 项目默认扫描路径是启动类所在的包下所有的子包也就是说我们新建的的类要想放入 IoC 中就得在该包下创建类。默认启动类是在 demo 包下 RequestMapping 注解 RequestMapping 是 Spring Web 应⽤程序中最常被⽤到的注解之⼀它是⽤来注册接⼝的路由映射的。 路由映射所谓的路由映射指的是当⽤户访问⼀个 url 时将⽤户的请求对应到程序中某个类的某个⽅法的过程就叫路由映射。 RequestMapping 即可修饰类也可以修饰⽅法当修饰类和⽅法时访问的地址是类 ⽅法。 RequestMapping 也可以直接修饰⽅法代码实现如下 默认情况下RequestMapping 是支持 post 和 get 请求的我们用 Postman 来验证一下 get 请求 post 请求 在有些情况下我们可能要该注解只支持其中一种请求那要怎么实现呢 只支持 get 请求的注解方式 RestController RequestMapping(/test) public class TestController {//方式一//下面 value 也可以改为 pathRequestMapping(value /hi,method RequestMethod.GET)public String sayHi() {System.out.println(hi Spring MVC);return h1 你好 Spring MVC h1;}//方式二GetMapping(/hhh)public String hhh() {return hello world;} }这里就只演示一下方式一 注意浏览器通过 url 来访问地址 默认是 get 请求。 再通过 Postman 来构造一下 post 请求 2. 只支持 post 请求的注解方式 RestController RequestMapping(/test2) public class Test2Controller {//方式一RequestMapping(path /hi,method RequestMethod.POST)public String sayHi() {return 你好;}//方式二PostMapping(/hhh)public String hhh() {return 你好,世界!;} }这里通过浏览器直接访问就报错了 通过 Postman 构建 post 请求 2. 获取参数 获取单个参数 学习 servlet 时获取参数的写法 RestController RequestMapping(/user) public class UserController {//传统写法获取请求中的参数RequestMapping(/getname) //这里不建议使用大小写, 可以用下划线来区分public String getName(HttpServletRequest request) {return Name : request.getParameter(name);} }通过 url 传递参数 通过注解获取 RestController RequestMapping(/user) public class UserController {//直接获取 url 中的参数//当该路由被触发后执行到方法时//就会对 name 进行匹配,直接对 name 进行赋值RequestMapping(/getname2)public String getName2(String name) {return Name : name;} }获取多个参数 其实获取多个参数和获取单个参数差不多 RestController RequestMapping(/user) public class UserController {//在传参时注意参数的命名与要获取的参数名一致RequestMapping(/getname3)public String getName3(String name, Integer age) {return Name : name age : age;} }不传参数就默认为 null 传递对象 顾名思义就是将参数当做一个对象的部分属性来接收在接收时我们新建一个 model 层来存放所需要的对象 RestController RequestMapping(/user) public class UserController {RequestMapping(/add)public User add(User user) {return user; //将得到的对象返回回去} }Data 注解是个组合注解它等于Getter Setter ToString EqualsAndHashCode RequiredArgsConstructor NoArgsConstructor 添加了它就不需要我们自己写 Getter 和 Setter 方法了减少重复工作。 当后端进行接收数据时就会将参数和 user 里的属性进行对比发现属性名称与参数的 key 相同就会进行赋值。 当对象返回前端时因为前端是用 json 来表示对象的所以返回的对象就转化为 json 格式 表单传参 其实表单传参和 url 传参区别就是传递参数的位置不一样对于后端来说都一样我们可以用 Postman 来构造请求 后端参数重命名 有时候前端传递的 key 你觉得不合理想改个顺眼的名字就可以对传递过来的参数重命名当然前端的参数是不变的。(注意: 对象不能重命名) RestController RequestMapping(/user) public class UserController {//将前端参数 y 改为 name并由 name 接收RequestMapping(/name)public String name(RequestParam(y) String name) {return name;} } 这里就有一个问题如果我不传这个 y 就会报错 在 RequestParam 中参数默认是必传的 如果我们需求是参数非必传则可以进行如下修改 RestController RequestMapping(/user) public class UserController {RequestMapping(/name)public String name(RequestParam(value y,required false) String name) {return name;} }这样就不会报错了 RequestBody 接收 JSON 对象 RestController RequestMapping(/user) public class UserController {RequestMapping(/get_json)public User getJson(RequestBody User user) {return user;} }使用 Postman 构造对象并发送 : PathVariable 获取 URL 中的参数 RestController RequestMapping(/user) public class UserController {//{aid} 中的 aid 是用来接收参数的RequestMapping(/get_url/{aid})//下面的 aid 是将参数名为 aid 的参数赋值给后面的 aid//这里两个 aid 名字相同,可以省略参数名(aid)不写public Integer getUrl(PathVariable(aid) Integer aid) {return aid;} }当然了, 还可以传递多个参数 : RestController RequestMapping(/user) public class UserController {RequestMapping(/get_url2/{aid}/{name})public String getUrl2(PathVariable() Integer aid, PathVariable String name) {return aid: aid name: name;} }上传文件 RequestPart RestController RequestMapping(/user) public class UserController {RequestMapping(/upload)//myfile 是接收的参数名, 赋值给 filepublic String upload(RequestPart(myfile) MultipartFile file) throws IOException {String path E:\\image\\img.png;//保存文件file.transferTo(new File(path));return path;} }该路径下确实保存了 img.png 图片 上面的代码写法是有问题的, 如果有很多用户都要保存文件, 那文件名就不能写死了, 必须保证每次保存的文件名都不一样, 可以使用 UUID : RestController RequestMapping(/user) public class UserController {RequestMapping(/upload)public String upload(RequestPart(myfile) MultipartFile file) throws IOException {//得到 UUID 并去掉 -String name UUID.randomUUID().toString().replace(-,);//file.getOriginalFilename() 得到文件名//file.getOriginalFilename().lastIndexOf(.) 得到最后一个.的下标//整个就是 name 拼接上 .后缀名name file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(.));String path E:\\image\\ name;//保存文件file.transferTo(new File(path));return path;} }多次提交得到的文件 : 获取 Cookie/Session/Header 获取 Cookie RestController RequestMapping(/user) public class UserController {RequestMapping(/get_cookie)public String getCookie(CookieValue(value myCookie, required false) String ck) {return ck;} }没有输出 : 通过前端构建一个 key 为 myCookie 的 cookie : 获取 Session 要想获取 Session 首先要有 Session, 我们可以上传一个 Session : RestController RequestMapping(/user) public class UserController {RequestMapping(/set_session)public String setSession(HttpServletRequest request) {HttpSession session request.getSession();if(session ! null) {session.setAttribute(SESSION_KEY,张三);return session set success;}return session set fail;}RequestMapping(/get_session)public String getSession(SessionAttribute(required false, value SESSION_KEY) String name) {return name;} }3. 获取 Header RestController RequestMapping(/user) public class UserController {RequestMapping(/get_header)public String getHeader(RequestHeader(User-Agent) String userAgent) {return UserAgent : userAgent;} }可以通过 fiddler 来抓包验证一下 : 3. 返回数据 默认请求下⽆论是 Spring MVC 或者是 Spring Boot 返回的都是 html 格式如果需要返回非 html 格式数据, 就得使用 ResponseBody 注解了, 我们之前一直使用的 RestController 便是 ResponseBody Controller 注解. 验证返回数据的默认格式 : Controller public class Test {RequestMapping(/b)public String t() {return hello.html;} }因为没有这个前端页面, 所以返回出错 : 抓包(返回的是 html 格式) : 在静态文件中加入 hello.html 文件 : 再次访问 : 使用 ResponseBody 返回字符串 : Controller public class Test {ResponseBodyRequestMapping(/a)public String t2() {return hello.html;} }或者使用 RestController 也可以.

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

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

相关文章

贵阳网站定制电话做装修网站

1 第2.1节:AWK脚本结构 1.1 第1个awk脚本 假设有如下的数据待处理,需要将第2列提取出来: #, 名称, 大小, 类型, 修改, 属性 1, COMMIT_EDITMSG, 331 bytes, 文件, 24/09/16 08:42:19, -a----- 2, config, …

有公司可以做网站升级ipv6wordpress 商城主题 汉

本文将为您描述layui表格字段表格显示不全(自适应),具体操作方法:好记性不如烂笔头。本来就是没什么好记得东西,下次再用时已经想不起来了。问题如下🐟使用layui表格,表格字段显示不全,如果超出分配的位置,就会显示省略…

网站主机建设方案三合一网站cms

目录 NLP自然语言处理 的RNN、Seq2Seq与attention注意力机制 RNN循环神经网络 前馈网络入门 前馈网络 循环网络 多层感知器架构示例 循环神经网络的运作原理 展开 RNN seq2seq模型 Attention(注意力机制) 总结 引用 NLP自然语言处理 的RNN、…

简单搭建Ajax基础应用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

修改注册表,实现电脑小键盘开机自启(NumLock灯常亮)

每次开机,小键盘(NumLock键)都需要手动开启才能使用。现分享一套只需通过修改注册表,就能让小键盘开机自启的方案。无需调整BIOS,快来看看吧。 1、打开注册表 首先 Win + R 同时按,打开运行,接着输入 regedit …

网站建设开票税收分类奇缦科技珠海网站建设优化

作者:CSDN @ _养乐多_ 本文详细记录了从Excel读取用于训练机器学习模型的数据,包括独立变量和因变量数据,以供用于机器学习模型的训练。这些机器学习模型包括但不限于随机森林回归模型(RF)和支持向量机回归模型(SVM)。随后,我们将测试数据集应用于这些模型,进行预测和…

06627网页制作和网站建设淘宝 网站开发 退货

工业以太网由于其固有的可靠性、高性能和互操作性,已经渗透到工厂车间,成为自动化和控制系统的首选通信协议。近年,工业以太网的市场份额已经超过了传统的现场总线协议,总线协议通常需要多个独立和专有的布线设施。为了满足工业环…

旅游包车网站最新模板东莞常平医院网站建设

目录 观察者模式(Observer Pattern) 实际应用 股票价格监控系统 发布-订阅系统 总结 观察者模式(Observer Pattern) 观察者模式是一种行为型设计模式,它定义了对象间的一对多依赖关系。当一个对象的状态发生改变…

多Agent协作入门:基于A2A协议的Agent通信

本文介绍了A2A的基本概念以及和MCP的关系,然后通过一个Hello World案例介绍了如何快速开始一个A2A Demo,相信我们可以有一个快速的感性认识。大家好,我是Edison。 之前我们学习了Semantic Kernel中的一些常见的编排…

完整教程:nav2笔记-250603

完整教程:nav2笔记-250603pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", …

MCP gateway

Top 5 MCP Gateways of 2025 https://www.truefoundry.com/blog/best-mcp-gateways Real-world deployment data reveals significant differences between marketing claims and production performance. Based on te…

点云的遮挡剔除

点云的遮挡剔除点云的遮挡剔除

在线视频下载网站如何做泸州大浪科技做网站

https://www.lucidchart.com/pages/signup?utm_expid39895073-174.qKyHpBEbQS26y86OArD-rQ.1 https://www.processon.com/

English of root for May 30th - 详解

English of root for May 30th - 详解2025-10-07 16:32 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…

门户网站指的是什么个人旅游网站建设方案

核心提示:在普拉纳夫看来,数字信息以像素的形式被限制在显示屏幕之中。他发明的"第六感装置"震惊全场,让世界为之惊叹。 MIT(麻省理工)印度裔学生Prarnav Mistry的天才发明:“第六感装置” 视频地址:http://v.youku.com…

招商加盟网站开发腾讯竞价广告

来源:未来智能实验室 互联网云脑逐渐清晰,AI与互联网结合引发AI威胁论 从科学史可以看到这样一个规律:每一次人类社会的重大技术变革都会导致新领域的科学革命。互联网革命对于人类的影响已经远远超过了大工业革命。与工业革命增强人类的力量…

建设网站河北石家庄的大学

对数据库的各项应用与操作都离不开SQL来对数据进行增删改查。 例如 : 有一张某公司职员信息表如下: 需求1:在公司职员信息表中,请统计各部门,各岗位下的员工人数。 如果这个SQL语句不会写或者不知道怎么操作可以交给…

国内权重网站排名网站备案接入商名称

上次给大家推荐了10个宝藏网站(http://t.csdnimg.cn/qcRWY),这次我又来啦! 话不多说,直接开始! 先收藏,防止以后找不到了! 整理不易,顺便把赞留下吧! 1. 爱…

时尚产品需求预测与库存优化模型解析

本文介绍了一种联合品类规划与库存管理的创新模型,通过马尔可夫链选择模型抽象客户决策过程,解决了时尚产品需求预测中的替代品效应和动态库存规划难题。开发满足多元品味的时尚产品模型 在线零售商持续面临的挑战是…

什么好的设计网站ppt做杂志模板下载网站有哪些

目录 一、使用场景 二、第一种方式:创建具有超时功能且绑定死信交换机的消息队列 三、第二种方式:创建通用延时消息 四、第三种方式:使用rabbitmq的延时队列插件,实现同一个队列中有多个不同超时时间的消息,并按时间…