初学SpringMVC之 RestFul 风格、重定向和转发

RestFul 风格改变 URL 形式

比如之前是:http://localhost:8080/add?a=1&b=2

现在是:http://localhost:8080/add/a/b(全是斜杠)

package com.demo.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMethod;@Controller
public class RestFul {//@RequestMapping(value = "/add/{a}/{b}",method = RequestMethod.GET)@GetMapping("/add/{a}/{b}")public String test(@PathVariable String a,@PathVariable String b, Model model){String res = a + b;model.addAttribute("msg",res);return "test"; //test.jsp}
}

通过 @PathVariable 映射到 URL 上

所有的地址栏请求默认都是 HTTP GET 类型

同理,组合注解有:

@GetMapping() 、@PostMapping()

@PutMapping() 、@DeleteMapping() 、@PatchMapping()

ServletAPI:通过 HttpServletRequest 进行输出、实现重定向、实现转发

package com.demo.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;@Controller
public class Model {@RequestMapping("/model")public String test(HttpServletRequest request, HttpServletResponse response){HttpSession session = request.getSession();System.out.println(session.getId());return "test";}
}

response.senRedirect("/xx.jsp")  重定向

request.getRequestDispatcher("/WEB-INF/jsp/xx.jsp").forward(request,response)  转发

通过 Spring MVC 来实现转发和重定向,无需视图解析器

forward 转发(不改变 URL)、redirect 重定向(改变 URL)

package com.demo.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class ModelTest {@RequestMapping("/model")public String test(Model model){model.addAttribute("msg","Model");//转发:不改变url//return "/WEB-INF/jsp/test.jsp";//return "forward:/WEB-INF/jsp/test.jsp";//重定向:改变urlreturn "redirect:/index.jsp";}
}

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

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

相关文章

odoo细分权限(根据业务需求)

odoo原生权限编写方式: 根据用户组分配权限 id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_sale_order,sale.order,model_sale_order,sales_team.group_sale_salesman,1,1, 1,0 access_sale_order_manager,sale.order.manager,model_…

kaggle提交csv文件

使用colab完成实验后 将要提交的csv文件拖到kaggle网站自己加入的competition就行 如果kaggle网站无法注册,往往是人机验证问题: kaggle网站验证

邮票孔是什么?和V割有什么区别?

邮票孔,也称为安装孔或通孔,是 PCB 中的圆形或非圆形开口,旨在允许将组件或 PCB 本身连接到支撑结构上。这些孔通常从顶面到底部钻穿或冲穿 PCB 层,形成连续的通道。冲压孔有各种尺寸和形状, 取决于 PCB 及其所容纳组件…

餐饮渠道年销4.2亿盒,光明look 30亿的极致大单品是如何策划的?

餐饮渠道年销4.2亿盒,光明look 30亿的极致大单品是如何策划的? 红酒代理业务下滑,从餐饮渠道主攻奶品类 雨帆食品集团,自2002年起是湖北地区红酒代理商,同时兼任光明乳业湖北荆州代理商。然而,到了2011年&a…

python--实验 9 类和对象

知识点 面向对象编程思想 面向对象编程是一种编程范式,它使用“对象”来设计软件,这些对象可以包含数据和代码,即属性和方法。 面向对象的程序设计的核心是对象,世间存在的万物皆为对象(上帝式思维) 面向对象&#xf…

TomCat服务器安装和配置教程

1.TomCat下载路径 TomCat官方网站:http://tomcat.apache.org 前往该网站下载安装tomcat,tar.gz文件是Linux操作系统的安装版本,zip文件是 windows操纵系统的压缩版本 打开后是如下网站,请下载匹配的操作系统的文件并且选择合适的…

2023 年 GitHub 上最受欢迎的编程语言

JavaScript 仍然是使用最多的编程语言,在 Web 开发中占据重要地位。 被广泛用于 Web 应用程序开发,框架如 React 和 Angular 促进了单页应用程序的开发。 Node.js 的出现使其在后端编程中同样重要。 Python 由于其简单性和广泛的库,Pyth…

自注意力简介

在注意力机制中,每个查询都会关注所有的键值对并生成一个注意力输出。如果查询q,键k和值v都来自于同一组输入,那么这个注意力就被称为是自注意力(self-attention)。自注意力这部分理论,我觉得台大李宏毅老师…

新兴商业模式如何破局?市场策划专家的实战指南

在这个融合了传统市场、互联网和信息技术的大潮中,想要在市场营销策划上玩得转,咱们得有超凡的全局思维和跨界的协作精神。 下面,我就来和大家聊聊如何在这样一个复杂环境下搞定市场营销策划,让你在竞争激烈的市场中脱颖而出。 …

MySQL慢查询日志详解与性能优化指南

1. 什么是慢查询日志 慢查询日志是MySQL提供的一种日志记录功能,它能够记录执行时间超过预设阈值的SQL查询语句,并将这些信息写入到日志文件中。 2. 查看慢查询日志的设置和状态 2.1 慢查询日志的开启状态和日志文件位置 通过以下命令可以查看慢查询…

Nodejs 第八十二章(Nacos动态配置)

什么是动态配置? 在Nacos中,动态配置是指可以在运行时动态修改应用程序的配置信息,而不需要重新启动或重新部署应用程序。通过Nacos的动态配置功能,开发人员可以将应用程序的配置信息存储在Nacos服务器中,并在需要时进…

PTK是如何加密WLAN单播数据帧的?

1. References WLAN 4-Way Handshake如何生成PTK?-CSDN博客 2. 概述 在Wi-Fi网络中,单播、组播和广播帧的加密算法是由AP决定的。其中单播帧的加密使用PTK密钥,其PTK的密钥结构如下图所示: PTK的组成如上图所示,由K…

做一个专业的声音分析系统,需要对声音那些评判标准进行计算

为了构建一个专业的声音分析系统,需要对以下评判标准进行计算。每个标准需要相应的算法和技术指标来实现。下面是一些关键的评判标准和如何计算这些标准的具体方法: 1. 音质 清晰度 信噪比(SNR):计算音频信号中的信…

win11下部署Jenkins,build c#项目

一个c#的项目,由于项目经理总要新版本测试,以前每次都是手动出包,现在改成jenkins自动生成,节省时间。 一、下载Jenkins, 可以通过清华镜像下载Index of /jenkins/windows-stable/ | 清华大学开源软件镜像站 | Tsingh…

模切厂如何选择合适的ERP系统?听说模切行业都是选择点晴模切ERP

选择适合模切行业的ERP系统时,应考虑系统的功能需求、供应商的选择、实施案例、用户评价和技术支持。点晴模切ERP系统因其全面的功能、成熟的架构、可扩展性、业财一体化管理、简便的开发平台和精确的刀模管理,被广泛认为是模切行业的优选。 一、功能需…

前端使用pinia中存入的值

导入pinia,创建pinia实例 使用pinia中的值

数字身份管理发展趋势:访问控制智能化

人工智能和机器学习技术正在大量应用于安全访问控制领域。这些技术可以分析用户行为,并实时监测访问中出现的异常情况,有助于主动识别潜在的安全风险。人工智能和机器学习可以显著提高业务数据和系统被访问过程中的安全性,它们还可以为用户提…

mysql8多值索引

MySQL8新出了一个多值索引,我还没体验过呢,今天试一试。 建表 我先建个表试一试多值索引的效果。我粗略地看了下多值索引的介绍,发现是只适用于数组类型的。所以我建一个含有数组字段的表试一试。语法还是挺麻烦的: create tabl…

2.电容(常见元器件及电路基础知识)

一.电容种类 1.固态电容 这种一般价格贵一些,ESR,ESL比较低,之前项目400W电源用的就是这个,温升能够很好的控制 2.铝电解电容 这种一般很便宜,ESR,ESL相对大一些,一般发热量比较大,烫手。 这种一般比上一个贵一点&am…

PS设计新手如何学习?沈阳PS设计线下培训

对于PS设计新手来说,学习之路可能既充满期待又伴有挑战。为了帮助你高效、系统地掌握Photoshop技能,以下是一些建议: 一、了解基础知识 界面熟悉:打开Photoshop,花时间熟悉工作区域,包括菜单栏、工具箱、面…