SpringMVC的请求处理

news2025/6/22 23:16:37

请求映射路径的配置

  • 请求映射路径的配置主要是通过@RequestMapping注解实现的
  • 相关注解作用使用位置
    @RequestMapping设置控制器方法访问路径的资源,可以接收任何请求方法和类上
    @GetMapping设置控制器方法访问路径的资源,可接收GET请求方法和类上
    @PostMapping设置控制器方法访问路径的资源,可接收Post请求方法和类上

请求数据的接收

参数的接收在JavaWeb后端SpringBoot专栏已经进行了学习,此处就不再赘述。感兴趣可以去我主页对应专栏进行阅读。主页传送门:内容管理-CSDN创作中心

  • 接收Restful风格的数据

  • 什么是Restful风格?

    • Rest(表象化状态转变/表述性状态转变),在2000年被提出,基于HTTP,URI,xml,JSON等标准和协议,支持轻量级、跨平台、跨语言架构设计。是Web服务的一种新网络应用程序的设计风格和开发方式。 
  • 常用规则
    • 用URI表示某个模块资源,资源名称为名词:
    • 模块

      URI资源

      用户模块userhttp://localhost/user
      商品模块producthttp://localhost/product
      账户模块accounthttp://localhost/account
      日志模块loghttp://localhost/log
  • 用HTTP响应状态码表示结果,国内常用的响应包括三部分:状态码、状态信息、响应数据


  •  
  • Restful风格参数是通过路径参数进行传递的,具体可以参照文章:请求响应-路径参数的接收_保持敬畏的博客-CSDN博客
  •  接收上传文件

  • 接收上传文件的数据,文件上传的表单有一定的要求:如下
    • 表单的提交方式必须是POST
    • 表单的enctype属性必须是,multipart/form-data
    • 文件上传需要name属性
       
  • 具体可以参照文章:SpringBoot案例-文件上传_保持敬畏的博客-CSDN博客
  •  虽然使用了不同的框架但是对于原理介绍是一样的。
  • 获取headers头信息和cookie信息

    • 接收Http请求头数据,接受指定名称的数据头
    • package com.example.Controller;
      
      import com.example.Service.Service01;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.stereotype.Controller;
      import org.springframework.web.bind.annotation.RequestHeader;
      import org.springframework.web.bind.annotation.RequestMapping;
      
      import java.util.Map;
      
      @Controller
      public class Controller01 {
          @Autowired
          private Service01 service01;
      
          @RequestMapping("/show")
          // 获取指定请求头信息
          public String show(@RequestHeader("Accept-Encoding") String requestHeader) {
              System.out.println(requestHeader);
              return "/index.jsp";
          }
      
          @RequestMapping("/show1")
          // 获取所有请求头信息
          public String show1(@RequestHeader Map<String, String> requestHeader) {
              requestHeader.forEach((k, v) -> {
                  System.out.println(k + "====" + v);
              });
              return "/index.jsp";
          }
      }
      
  • 启动web服务器后就可以,请求对应的路径
  • 请求show路径,终端输出
  • 请求show1
  • 终端输出
  • 获取客户端携带的Cookie数据
  • 关键代码如下
  • package com.example.Controller;
    
    import com.example.Service.Service01;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.CookieValue;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class Controller01 {
        @Autowired
        private Service01 service01;
    
        @RequestMapping("/show")
        // 获取Cookie信息
        public String show(@CookieValue(value = "JSESSIONID", defaultValue = "") String requestHeader) {
            System.out.println(requestHeader);
            return "/index.jsp";
        }
    
    
    }
    


     

后天再来,p124

JavaWeb常用对象获取

请求静态资源

注解驱动<mvc:annotation-driven>标签

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

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

相关文章

绿源正式登陆港股,行业老将凭原创科技走向新未来

两轮电动车领域历史最悠久的老将之一——绿源&#xff0c;正式掀开发展之路的新篇章。10月12日&#xff0c;绿源正式登陆港交所&#xff0c;上市首日股价开盘向上&#xff0c;涨幅一度超过9%。 此前&#xff0c;绿源的招股书失效以及在地方抽检中出现的负面新闻&#xff0c;引…

YOLOv7改进策略:RIFormerBlock助力检测|CVPR2023 RIFormer:无需TokenMixer也能达成SOTA性能的极简ViT架构

💡💡💡本文属于原创独家改进: 稀疏重参数RIFormerBlock模型引入YOLOv7进行创新性 RIFormerBlock | 亲测在多个数据集实现涨点; 收录: YOLOv7高阶自研专栏介绍: http://t.csdnimg.cn/tYI0c ✨✨✨前沿最新计算机顶会复现 🚀🚀🚀YOLOv7自研创新结合,轻松…

微信支付(小程序)

1、配置回调地址 2、小程序和微信支付进行绑定 3、小程序支付需要获取openId 4、uniapp中支付的关键代码 uni.requestPayment({"provider": "wxpay", "orderInfo": {"appid": "wx499********7c70e", // 微信开放平台 - 应…

如何给视频加上酷炫边框?简单几步搞定

随着社交媒体的普及&#xff0c;越来越多的人开始关注如何给自己的视频加上炫的边框&#xff0c;以增加观赏性和吸引力。而乔拓云作为一款在线海报制作工具&#xff0c;为这一需求提供了便捷的解决方案。下面就让我们一起来看看如何通过乔拓云给视频加上酷炫边框吧&#xff01;…

HPE设备固件升级步骤

一.打开HPE的support官网 https://support.hpe.com/connect 二.搜索需要的设备型号 三.搜索需要的固件 四.选择需要安装的版本及环境 5.下载与安装&#xff0c;也可以查看历史版本

“上海设计100+”和“设享奖EDW”先后揭晓,深兰科技皆获大奖

国庆前夕&#xff0c;“上海设计100”和“设享奖EDW”两项产品设计大奖的获奖榜单先后揭晓&#xff0c;深兰科技出品的计算机视觉工业检测标准化设备-剑齿虎在两项大奖的评选中皆获大奖。 01上海设计100——2023世界设计之都大会 9月26日&#xff0c;由上海市人民政府主办&…

Latex写作如何划钩与打叉

文章目录 概要实现在这里插入代码片效果 概要 我们经常在论文写作中需要划钩 “√” 与打叉 “”&#xff0c;本文介绍在latex中的几种实现方式。 实现在这里插入代码片 \documentclass{article} \usepackage{bbding} %重要&#xff1a;首先在导言区调用bbding包\begin{docu…

PCB射频天线设计基本要点及布局技巧

射频天线设计与布局是需要认真关注细节的领域之一&#xff0c;也是混合信号设计师给出的一些提示。如果刚开始接触高频模拟设计&#xff0c;可采用本文给出的这些技巧&#xff0c;以确保RF设计具有良好的隔离效果和信号完整性。 如今&#xff0c;人们已很难想到哪个消费产品不含…

软件分享--星空五子棋

如果你喜欢下五子棋&#xff0c;可以尝试星空五子棋&#xff0c;一款能够与你下五子棋的电脑游戏 六种电脑AI难度、每种AI具有不同的性格&#xff0c;好像在与不同的棋手较量 难度一&#xff1a;急于进攻的AI&#xff0c;容易被击败 难度二&#xff1a;温柔的AI&#xff0c;不…

防静电门禁闸机管理系统的优点有哪些

防静电门禁管理系统是一种专门针对静电敏感场所设计的门禁管理系统&#xff0c;其主要优点包括&#xff1a; 防止静电干扰&#xff1a;防静电门禁管理系统采用了防静电材料和设计&#xff0c;能够有效地防止静电干扰&#xff0c;保障设备和人员的安全。 提高门禁安全性&#x…

echarts 多y轴 数据有负数导致0刻度线不对齐

修改前&#xff1a; let y1Data [2.0, 4.9, 7.0, 23.2, 25.6, -76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3] let y2Data [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3] let rowNum 6; let max1 y1Data.length ! 0 ? Math.max(...y1Data) : 1;…

STM32CubeMX使用

一、新建工程 首先&#xff0c;打开STM32CubeMX&#xff0c;第一次使用的朋友可以点击右侧的CHECK FOR UPDATE和INSTALL/REMOVE检查一下软件更新并且找到对应芯片的固件库然后下载&#xff0c;软件和固件库都推荐是使用最新版的&#xff0c;这里不多介绍。 完毕之后点击File-&…

漏刻有时数据可视化Echarts组件开发(40)pictorialBar象形柱图

pictorialBar象形柱图 type&#xff1a;必须在ECharts 5.0以后的版本中设置&#xff0c;值为’pictorialBar’。name&#xff1a;系列名称&#xff0c;用于tooltip的显示&#xff0c;legend的图例筛选&#xff0c;在setOption更新数据和配置项时用于指定对应的系列。legendHov…

nodejs+vue+elementui实验室预约管理系统

简单的说 Node.js 就是运行在服务端的 JavaScript。 前端技术&#xff1a;nodejsvueelementui 前端&#xff1a;HTML5,CSS3、JavaScript、VUE实验室如何适应新的时代和新的潮流,开展有效的信息服务工作,完成时代赋予的新使命?本文就这一问题谈谈几点粗浅的看法.扩大业务范围,更…

HarmonyOS 远端状态订阅开发实例

IPC/RPC 提供对远端 Stub 对象状态的订阅机制&#xff0c; 在远端 Stub 对象消亡时&#xff0c;可触发消亡通知告诉本地 Proxy 对象。这种状态通知订阅需要调用特定接口完成&#xff0c;当不再需要订阅时也需要调用特定接口取消。使用这种订阅机制的用户&#xff0c;需要实现消…

金融新应用潮涌,银行如何加强数据安全韧性?

文 | 螳螂观察 作者 | 李永华 竞争白热化下&#xff0c;业务创新已经成为银行等金融企业普遍的追求。 以地方商业银行为代表&#xff0c;为了争夺市场、突破“大行”势能、让企业发展更进一步&#xff0c;新型应用正在快速落地&#xff0c;带来全新的竞争力。 但是&#xf…

Winform圆角用户控件的软件实现

1、文件结构 2、控件视图 3、程序代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading…

数码品牌这样做,教你实现用户增长

随着人工智能、移动互联网等新技术的不断发展&#xff0c;人们对数码产品的消费需求也在不断更新&#xff0c;这也给整个数码行业带来了消费与变革&#xff0c;在竞争激烈的数码市场上&#xff0c;数码品牌应该怎么做才能实现用户增长呢&#xff1f;可以试试软文&#xff0c;接…

UnityShaderLab —— 模型裁剪效果

首先定义一个裁剪范围&#xff0c; _DisappearOffset("offset",Range(-1,1)) 1 在顶点着色器中&#xff0c;取某个轴的值与裁剪的数相减存储在UV的z分量中 v2f vert (appdata v){v2f o;o.pos UnityObjectToClipPos(v.pos);o.uv.xy v.uv;o.uv.z _DisappearOffse…

02Linux各目录及每个目录的详细介绍

【常见目录说明】 目录/bin存放二进制可执行文件(ls,cat,mkdir等)&#xff0c;常用命令一般都在这里。/etc存放系统管理和配置文件/home存放所有用户文件的根目录&#xff0c;是用户主目录的基点&#xff0c;比如用户user的主目录就是/home/user&#xff0c;可以用~user表示/u…