关于redirect重定向的使用以及和二维码的结合

2023-11-04

redirect叫做重定向,重定向其实就是最后跳转是靠浏览器去跳转的。对比的就是转发,所有的跳转都是有web服务器来跳转。

在这里插入图片描述

上面这个图说的不全面,因为除了页面,接口请求也是可以跳转的,比如请求接口1,接口1返回一个接口2,浏览器重定向接口2.

说了一下重定向的含义,说一下他的基本用处。

一 页面跳转
我们知道常见的servlet跳转的方式就两种,转发和重定向,转发解释收到请求返回数据跳转到指定的页面,旧的SSM或者一些spring mvc会用到,重定向也一样,只不过他返回一个别的路径,让浏览器再请求一次。

随着很多项目都已经前后端分离解耦,实际上后端只是返回接口数据给前端就可以了,实际上后端对于路径跳转已经很少去关心了。

二请求跳转(涉及到二维码)
实际上操作和前面差不多,之所以会出现请求重定向的情况,一般来说就是需要判断请求的数据,根据不同情况再去返回一个对应的请求让浏览器或者客户端根据情况返回到对应接口。

上面这句话有点绕,我结合一下实际情况。大家平常都用过,大家有没有很好奇一个二维码,若果是下载的二维码,苹果用户会去苹果商店,安卓的会去安卓市场。这些怎么做到的,同理还有一个二维码可以兼容各大支付平台的。别的不了解,我在做我们自己产品的下载二维码才用了重定向的来决这个问题。

首先要知道二维码是啥,实际二维码实际就是一端信息的图像化处理,你只要不把涉及到定位的三个点,遮住一个或者多个,实际上识别程序就能识别解析里面的内容。

如果我们是一个地址的二维码,不管你是手机自带的扫码还是别的都能解析出来,问你要不要跳转到这个地址(有的是直接就跳过去)。这里我们后台可以接受到请求,我们可以做个统计计数,或者加个参数啥的,在这后面我们想根据不同的系统类型(安卓,IOS,这些你要能分别出来否则你就别乱跳了),返回重定向不同的请求地址。IOS的给对应app store地址,安卓给你的应用市场地址,浏览器再请求到不同地址。这就是一个二维码,不同人不同的结果的重定向方式的实现。

String androidUrl = "redirect:"+appDownloadInfoDO.getAndroidUrl();
		String iosUrl = "redirect:"+appDownloadInfoDO.getIosUrl();



		if (userSupport.isAndroidLogin()){
			logger.info(" device type : {}", "android"  );
			//android下载次数统计更新
			Integer androidCount = appDownloadInfoDO.getAndroidCount();
			if( androidCount == null ){
				androidCount = 0;
			}
			androidCount = androidCount + 1;
			appDownloadInfoDO.setAndroidCount(androidCount);
			liveQrCodeConfigMapper.updateById(appDownloadInfoDO);

			return new ModelAndView(androidUrl);
		}else if(userSupport.isIOSLogin()) {
			logger.info(" device type : {}", "ios"   );
			//android下载次数统计更新
			Integer iosCount = appDownloadInfoDO.getIosCount();
			if( iosCount == null ){
				iosCount = 0;
			}
			iosCount = iosCount + 1;
			appDownloadInfoDO.setIosCount(iosCount);
			liveQrCodeConfigMapper.updateById(appDownloadInfoDO);
			return new ModelAndView(iosUrl);
		}else {
			logger.info(" device type : {}", "other"   );
			return new ModelAndView(androidUrl);
		}

所以说有些东西你能结合之前或者现在学习到的一些知识,会有超过书本带来的收获。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于redirect重定向的使用以及和二维码的结合 的相关文章

随机推荐

  • 【Vue基本指令】一.什么是Vue;二.Vue开发的方式;三.Vue的基本指令(重点)

    目录 一 什么是Vue 1 前端技术的发展 html CSS JavaScript 1 JQuery 是对JavaScript进行了封装 使得操作DOM 事件处理 动画处理 Ajax交互变得非常简洁 方便 是JavaScript的库 Vue
  • centos 6 找不到Systemctl命令的解决办法

    CentOS 无法找到 Systemctl 命令的解决办法 没事 您可以使用 service 比如想要启动 NGINX 可以这样 service nginx start 使用 service 命令替代 参考资料 1 Systemctl无法找
  • PyCharm软件破解使用方法

    背景 PyCharm的破解方法有很多种 第一种是 授权服务器激活 第二种是 激活码激活 第三种是 破解补丁激活 本文针对第三种 破解补丁激活 给出有效的破解方法 准备工具 PyCharm破解补丁这个肯定是需要的 下载链接 PyCharm破解
  • mysql设置用户权限

    1 创建用户 CREATE USER username host IDENTIFIED BY password 2 程序中使用的mysql账号应该遵循最小权限原则 不允许夸库查询 故设置专门的账号供程序使用 grant select upd
  • 攻防兼备:中国蚁剑使用指南及特征流量

    中国蚁剑是菜刀的升级版本 线现下主流的Webshell连接工具之一 有着较广泛的使用 本篇文章会教给大家蚁剑的使用方法以及不同加密方式的流量特征 兼顾攻防两端 蚁剑下载安装参考 中国蚁剑 antSword 下载 安装 使用教程 蚁剑下载 攀
  • 微信开放平台【第三方平台】java开发总结:第三方平台授权流程说明(authorization_code)(四)

    第三方平台授权流程说明 全网最详细的微信第三方平台授权公众号 小程序开发说明 参考文档地址 ttps developers weixin qq com doc oplatform Third party Platforms Authoriz
  • 没有产品说明书时使用的测试——探索测试

    探索测试 Exploratory Testing 通常用于没有产品说明书的测试 这需要把软件当作产品说明书来看待 分步骤逐项探索软件特性 记录软件执行情况 详细描述功能 综合利用静态和动态技术来进行测试 探索测试人员只靠智能 洞察力和经验来
  • 3D游戏编程与设计作业5——简易打飞碟游戏

    一 作业要求 1 编写一个简单的自定义 Component 用自定义组件定义几种飞碟 做成预制 2 编写一个简单的鼠标打飞碟游戏 内容要求 游戏有多个轮次 每个轮次都包括10个轨迹 每个轨迹的飞碟的色彩 大小 发射位置 速度 角度 同时出现
  • 永洪BI助力矿产行业数智化转型

    北路智控携手永洪BI 助力矿产行业数智化转型 南京北路智控科技股份有限公司 301195 SZ 成立于2007年 总部位于南京市江宁滨江经济技术开发区 是一家专业从事矿山自动化 信息化 智能化等产品的设计 研发 生产 销售及服务为一体的高新
  • 主动扫描系列文章(3):nmap与masscan的配合使用

    20201103 目录 主动扫描系列文章 1 nmap的基础使用 主动扫描系列文章 2 masscan zmap扫描主机与端口 主动扫描系列文章 3 nmap与masscan的配合使用 0 引言 注 本篇文章中的工具并未实际测试 只是前期工
  • MySQL必知必会——第十六章创建高级联结

    创建高级联结 本章将讲解另外一些联结类型 包括它们的含义和使用方法 介绍如何对被联结的表使用表别名和聚集函数 使用表别名 第十章 MySQL必知必会 第十章创建计算字段 介绍了如何使用别名引用表列 mysql gt SELECT Conca
  • 股市股票基金市场研报合集(2022年,共195份)

    合集名称 股市股票基金市场研报合集 数量 195份 具体内容 股票基金市场 2021Q4公募基金及陆股通持仓分析 内外资加仓成长 减持消费 周期 20220125 华安证券 42页 pdf 股票基金市场 2021Q4公募基金持股分析 风险偏
  • php 微信分享好友朋友圈自定义标题 描述和图片 报错 63002,invalid signature

    之前搞过一次一直没有记录 导致这次操作的时候有点吃力报错 一直给我报错63002 invalid signature 记得第一次搞的时候很快啊 这次卡了几个小时时间去排查 首先我们要根据微信官方文档排查 确定不是自己参数问题 进入官方文档
  • C#笔记2——如何实现treeview的单击功能

    C 笔记2 如何实现treeview的单击功能 近来做了一个课设 需要使用treeview 并且实现treeview的单击效果 翻了几本教材 都没有具体说如何实现该功能 于是乎各种问度娘 在多次的尝试之下终于实现类单击功能 下面来详细讲解一
  • 乌班图linux分辨率不能调,ubuntu18.04 分辨率设置(双屏幕显示,添加没有的分辨率)...

    时间 2019 03 13 作者 魏文应 要解决什么问题 通过本文 你能够实现类似于以下的效果 给电脑接两个显示器 分别是独立显卡 nvidia 和集成显卡 独立显卡通过 DVI 接口和显示器连接 选择 拼接显示器 选项 扩展显示 ubun
  • mate30升级鸿蒙系数据会被清空吗,145直接升级鸿蒙会不会掉资料

    分享交流 145直接升级鸿蒙会不会掉资料 18919 电梯直达 中二的灵魂 略有小成 发表于 2020 12 19 06 58 28 来自 HUAWEI Mate 30 5G 最新回复 2020 12 19 10 59 19 如题 有升了的
  • 数据结构课程设计c语言运动会管理系统

    参加运动会的有n个学院 学校编号为1 n 比赛分成m个男子项目 和w个女子项目 项目编号为男子1 m 女子m 1 m w 不同的项目取前八名积分 且前八名的积分分别为 9 7 6 5 4 3 2 1 m lt 20 n lt 20 功能要求
  • 【操作系统】王道考研 p46 页面分配策略

    页面分配策略 知识总览 驻留集 页面分配 置换策略 驻留集 给进程分配的物理块的集合 分配小了装不下 会频繁缺页中断 分配大了 给一个进程分配多了物理块 别的进程就少了 并发性下降 全局置换 把空闲的分给缺页进程 或把别的进程持有的物理块置
  • win11与Ubuntu 20.04 WSL进行文件互换

    WSL有一个很大的优点就是支持与Windows文件系统的互操作 可以访问和处理Windows文件系统中的文件 从而方便用户在Windows和Linux之间共享数据 通过WSL子系统终端访问Windows系统文件 在WSL中 Windows文
  • 关于redirect重定向的使用以及和二维码的结合

    redirect叫做重定向 重定向其实就是最后跳转是靠浏览器去跳转的 对比的就是转发 所有的跳转都是有web服务器来跳转 上面这个图说的不全面 因为除了页面 接口请求也是可以跳转的 比如请求接口1 接口1返回一个接口2 浏览器重定向接口2