SpringMVC 学习(五)转发,重定向和传参
6. 转发和重定向
Spring MVC 的底层是 servlet,因此在 Spring MVC 中也存在转发和重定向的概念。
- 对于转发而言,其目的页面可以在 WEB-INF 目录下。
- 重定向的目的页面不允许在 WEB-INF 目录下,因为重定向相当于用户再次发起一次请求,而用户不允许直接访问 WEB-INF 目录下的资源。
6.1 转发
使用 forward: 即可实现转发
-
转发至目的页面:
forward:目的页面相对站点的路径return "forward:WEB-INF/jsp/test.jsp"; -
转发至控制器:
forward:控制器return "forward:/restAdd/1/2";
处理器适配器在返回 ModelAndView 时默认使用转发方式
6.2 重定向
使用 redirect: 即可实现重定向
-
重定向至目的页面:
redirect:目的页面相对站点的路径return "redirect:index.jsp"; -
重定向至控制器:
redirect:控制器return "redirect:/restAdd/1/2";
重定向与转发不可使用 RestFul 风格直接在浏览器带参数进行访问
7. 接收请求参数和数据回显
7.1 请求参数接收
-
请求参数与被请求函数形参名称相同
http://localhost:8080/user/rec?name=why@Controller @RequestMapping("/user") public class UserController {@GetMapping("/rec")public String rec(String name, Model model) {System.out.println("name: " + name);model.addAttribute("msg", "name: " + name);return "test";} } -
请求参数与被请求函数形参名称不同
http://localhost:8080/user/rec?username=why@Controller @RequestMapping("/user") public class UserController {@GetMapping("/rec")public String rec(@RequestParam("username") String name, Model model) {System.out.println("name: " + name);model.addAttribute("msg", "name: " + name);return "test";} } -
被请求函数形参为对象
http://localhost:8080/user/recObj?id=1&name=why&age=1@Controller @RequestMapping("/user") public class UserController {@GetMapping("/recObj")public String recObj(User user, Model model) {System.out.println("user: " + user);model.addAttribute("msg", "user: " + user);return "test";} }@Data @AllArgsConstructor @NoArgsConstructor public class User {private int id;private String name;private int age; }
7.3 数据回显
(1) ModelAndView
public class HelloController implements Controller {public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {ModelAndView mv = new ModelAndView();mv.addObject("msg","HelloSpringMVC!");mv.setViewName("hello");return mv;}
}
(2) Model
@GetMapping("/recObj")
public String recObj(User user, Model model) {System.out.println("user: " + user);model.addAttribute("msg", "user: " + user);return "test";
}
(3) ModelMap
Model extends ModelMap extends LinkedHashMap<String, Object>
@GetMapping("/recObj")
public String recObj(User user, ModelMap model) {System.out.println("user: " + user);model.addAttribute("msg", "user: " + user);return "test";
}
相关文章:
SpringMVC 学习(五)转发,重定向和传参
6. 转发和重定向 Spring MVC 的底层是 servlet,因此在 Spring MVC 中也存在转发和重定向的概念。 对于转发而言,其目的页面可以在 WEB-INF 目录下。重定向的目的页面不允许在 WEB-INF 目录下,因为重定向相当于用户再次发起一次请求…...
selenium不定位元素直接使用键盘操作(如弹框操作)
今天在使用selenium进行定位时,发现直接定位不了chrome的弹框,如这种弹框: 使用的是下面这行代码 driver.switch_to.alert.accept() 运行报错,说是没有 alert windown。。。。 啊?难道chrome的弹框不是用alert写的&…...
Inno Setup安装中文语言
以版本6.2.2为例: 默认安装的Inno Setup是不支持中文语言的,需要我们自行下载安装。 一、打开官网Inno Setup Translations (jrsoftware.org) 下载的文件如下 二、然后重命名放到Inno Setup的如下安装目录中 三、然后重启Inno Setup即可。 打包后的…...
【数据库——MySQL】(10)视图和索引
目录 1. 视图1.1 创建视图1.2 查询视图 2. 索引2.1 索引的分类2.2 索引的建立 参考书籍 1. 视图 1.1 创建视图 基础语法: CREATE [OR REPLACE] VIEW 视图名[(列名表)]ASSELECT语句[WITH CHECK OPTION]说明: 在默认情况下,将在当前数据库创…...
No servers available for service: renren…。 Gateway 网关报503错误 ,已解决
目录 环境配置问题描述loadbalancer的作用 环境配置 问题描述 配置spring cloud gateway使用端口访问就可以,使用lb:// 就报503 gateway:routes:- id: admin_routeuri: lb://gulimall-admin # uri: http://localhost:8080predicates:- Path/api/**filter…...
【Spring Cloud】深入理解 Eureka 注册中心的原理、服务的注册与发现
文章目录 前言一、微服务调用出现的问题1.1 服务消费者如何获取服务提供者的地址信息?1.2 如果有多个服务提供者,消费者该如何选择?1.3 消费者如何得知服务提供者的健康状态? 二、什么是 Eureka2.1 Eureka 的核心概念2.2 Eureka 的…...
添加路径到头文件默认搜索路径
在linux环境下写代码,出现函数是从其他文件引用的,需要把该文件的搜索路径添加到当前文件。 注意,除非必要,一般不建议这样做。比较好的方式是写入到CMakeLists或者Makefile中。 一次性生效,命令行输入即可ÿ…...
掌动智能:替代JMeter的压力测试工具有哪些
JMeter是一个广泛使用的开源压力测试工具,但在实际应用中,也有一些其他优秀的替代品可供选择。本文将介绍几个可替代JMeter的压力测试工具,它们在功能、性能和易用性方面都具有独特优势,可以满足不同压力测试需求的选择。 一、Gat…...
Casper Network 构建企业级区块链生态的野望
Casper Network 是基于 Layer1 且图灵完备 Wasm 的智能合约平台,它由唯一可操作的 CBC-Casper Proof-of-Stake (PoS) 共识算法(称为 Highway)支持,该网络是一个无需许可、去中心化的公共区块链。 Casper Network 主网在 2021 年 4…...
TiDB 7.1.0 LTS 特性解读丨关于资源管控 (Resource Control) 应该知道的 6 件事
TiDB 7.1.0 LTS 在前段时间发布,相信很多同学都已经抢先使用了起来,甚至都已然经过一系列验证推向了生产环境。面对 TiDB 7.1 若干重要特性,新 GA 的资源管控 (Resource Control) 是必须要充分理解、测试的一个重量级特性。对于常年奋斗在一线…...
Django Web开发入门基础
官方有很详细的文档,但是看过几遍之后如果要翻找还是有点麻烦,本文算作是学习笔记,提取一些关键点记录下来,另附上官方教程 编写你的第一个 Django 应用 注: 文中的指令使用py,是在Windows上,ma…...
Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C#)
Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C#) Baumer工业相机Baumer工业相机的图像剪切(ROI)功能的技术背景CameraExplorer如何使用图像剪切(ROI)功…...
LetCode算法题---第2天
注:大佬解答来自LetCode官方题解 80.删除有序数组的重复项Ⅱ 1.题目 2.个人解答 var removeDuplicates function (nums) {let res [];for (let index 0; index < nums.length; index) {let num 0;if (res.includes(nums[index])) {for (let i 0; i < res.length; …...
Leetcode.2571 将整数减少到零需要的最少操作数
题目链接 Leetcode.2571 将整数减少到零需要的最少操作数 rating : 1649 题目描述 给你一个正整数 n n n ,你可以执行下述操作 任意 次: n n n 加上或减去 2 2 2 的某个 幂 返回使 n n n 等于 0 0 0 需要执行的 最少 操作数。 如果 x 2 i x 2^…...
微前端无界 项目使用记录
1预期目标和场景 一个vue框架开发的应用,需要使用另一个系统的页面。 通俗来说,就是在一个web应用中独立的运行另一个web应用 2 技术支持 微前端处理方案:无界 无界官网: https://wujie-micro.github.io/doc/guide/ CSDN 参考…...
CDH 6.3.2升级Flink到1.17.1版本
CDH:6.3.2 原来的Flink:1.12 要升级的Flink:1.17.1 操作系统:CentOS Linux 7 一、Flink1.17编译 build.sh文件: #!/bin/bash set -x set -e set -vFLINK_URLsed /^FLINK_URL/!d;s/.*// flink-parcel.properties FLI…...
基于谷歌Transeformer构建人工智能问答系统
目录 1 项目背景 2 关键技术 2.1 Transeformer模型 2.2 Milvus向量数据库 3 系统代码实现 3.1 运行环境构建 3.2 数据集介绍 3.3 预训练模型下载 3.4 代码实现 3.4.1 创建向量表和索引 3.4.2 构建向量编码模型 3.4.3 数据向量化与加载 3.4.4 构建检索web 3.5 运行结…...
【2023年11月第四版教材】第15章《风险管理》(合集篇)
第15章《风险管理》(合集篇) 1 章节说明2 管理基础2.1 风险的属性2.2 风险的分类★★★2.3 风险成本★★★2.4 管理新实践 3 管理过程4 管理ITTO汇总★★★5 过程1-规划风险管理6 过程2-识别风险6.1 识别风险★★★6.2 数据收集★★★6.3 数据分析★★★…...
python常见面试题四
解释 Python 中的魔术方法 (magic methods)。 答:魔术方法是以双下划线 __ 开头和结尾的方法,用于在特定条件下自动调用。例如,__init__ 是用于初始化对象的魔术方法。 解释 Python 中的装饰器 (decorator)。 答:装饰器是一种特殊…...
stm32无人机-飞行力学原理
惯性导航,是一种无源导航,不需要向外部辐射或接收信号源,就能自主进行确定自己在什么地方的一种导航方法。 惯性导航主要由惯性器件计算实现,惯性器件包括陀螺仪和加速度计。一般来说,惯性器件与导航物体固连…...
YOLO-Master 的MoE方案分解
之前,进行论文精度。今天看下具体代码 文章目录1. OptimizedMOEImproved加载模块过程2. 路由模块 EfficientSpatialRouter3. 专家 SimpleExpert实例条件自适应MoE 剪枝 (MoEPruner)聚类加权 NMS (CW-NMS)1. OptimizedMOEImproved 同构专家:通常使用相同…...
TMI8260SP的替代品7889直流双向电机驱动芯片详解
在直流电机驱动领域,TMI8260SP作为一款经典的双向马达驱动芯片,曾广泛应用于各类中低功率电机控制场景,其稳定的性能积累了良好的市场口碑。但随着市场对电机驱动芯片的性能、功耗及性价比要求不断提升,7889直流双向电机驱动芯片凭…...
ANIMATEDIFF PRO新手避坑指南:常见问题与解决方案全解析
ANIMATEDIFF PRO新手避坑指南:常见问题与解决方案全解析 1. 前言:为什么选择ANIMATEDIFF PRO 如果你正在寻找一款能够生成电影级质量AI视频的工具,ANIMATEDIFF PRO可能是目前最强大的选择之一。基于AnimateDiff架构和Realistic Vision V5.1…...
Materials Studio8.0在CentOS7.9环境下的安装与配置指南
1. 环境准备与系统检查 在CentOS 7.9上安装Materials Studio 8.0之前,我们需要确保系统环境满足最低要求。我遇到过不少因为环境配置不当导致的安装失败案例,这里分享几个关键检查点: 首先检查主机名是否包含特殊字符。Materials Studio对主机…...
EVA-01保姆级教程:Qwen2.5-VL-7B多模态大模型在EVA-01中的本地化安全部署
EVA-01保姆级教程:Qwen2.5-VL-7B多模态大模型在EVA-01中的本地化安全部署 1. 引言:欢迎来到NERV指挥中心 想象一下,你面前有一个能看懂图片、理解图表、甚至能和你讨论图片里发生了什么的智能助手。现在,我们把这个助手装进了一…...
Qwen3-4B-Instruct-2507从入门到精通:Chainlit界面定制化教程
Qwen3-4B-Instruct-2507从入门到精通:Chainlit界面定制化教程 1. 引言:为什么选择Qwen3-4B-Instruct-2507? 如果你正在寻找一个既强大又轻量、既能快速部署又能灵活定制界面的AI模型,那么Qwen3-4B-Instruct-2507绝对值得你深入了…...
AI写论文实用宝典,4款AI论文生成工具搞定各类论文写作!
在2025年的学术写作智能化浪潮中,越来越多的人开始依赖AI写论文工具进行创作。尽管这些工具的使用越来越普遍,但在撰写硕士、博士论文等较长篇幅的学术文章时,许多AI论文写作工具往往陷入缺乏理论深度和逻辑性不强的问题。普通的AI写专著或AI…...
量子行走:从理论到Python实现——量子力学原理与Qubit物理
目录 2. 量子力学原理与Qubit物理 2.1 量子比特的物理实现 2.1.1 双能级系统建模 2.1.2 布洛赫球表示与可视化 2.2 叠加与纠缠现象 2.2.1 量子叠加原理 2.2.2 量子纠缠理论 2.3 量子测量与退相干 2.3.1 测量公设的实现 2.3.2 噪声与退相干机制 2. 量子力学原理与Qubi…...
技术指标——格雷厄姆指数
文章目录1. 格雷厄姆指数是什么?2. 格雷厄姆指数的作用是什么?3. 举例计算例1:牛市顶部(2021年2月)例2:熊市底部(2024年2月)例3:中性水平(假设某一般时刻&…...
腾讯游戏卡顿终极解决方案:ACE-Guard资源限制器完整指南
腾讯游戏卡顿终极解决方案:ACE-Guard资源限制器完整指南 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源,支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 你是否在玩《地下城与勇士》、《英雄…...
