springMVC学习总结(二)路径映射和请求方法限定
一、路径映射
无参数的访问路径
-
对springmvc项目的访问路径,是由根路径和子路径组成;在注解式开发中,根路径标注在类名之上,子路径标注在方法名之上,例:
@Controller @RequestMapping(value = "/rootpath") public class Demo01Controller { @RequestMapping(value = "/childpath.action") public ModelAndView test(){ System.out.println("访问成功!"); ModelAndView mv = new ModelAndView(); mv.addObject("message", "测试成功"); mv.setViewName("hello"); return mv; } }
在这个例子中:
根路径是类名上方的 RequestMapping(value = "/rootpath")
;
方法名上方的 RequestMapping(value = "/rootpath")
因此该方法的访问路径是:http://localhost:8080/rootpath/childpath.action
路径中有参数的访问路径
-
如果我们想通过url传递一个或多个参数到后台,在不考虑安全问题的情况下可以使用url的方式携带参数访问,比如我们要获取一个id值,我们后台编码如下:
@Controller @RequestMapping(value = "/rootpath",method = RequestMethod.GET) public class Demo01Controller { @RequestMapping(value = "/childpath/{id}") public ModelAndView test(@PathVariable String id){ System.out.println("get提交的参数为:"+id); ModelAndView mv = new ModelAndView(); mv.addObject("message", "测试成功"); mv.setViewName("hello"); return mv; } }
此时的访问路径是:
http://localhost:8080/rootpath/childpath.action/3.action
这个url中传递的参数值是id=1
-
当有多个参数的时候,只要方法的参数名与路径中的参数命名一一对应便可一一对应的取到值,如:
@Controller @RequestMapping(value = "/rootpath",method = RequestMethod.GET) public class Demo01Controller { @RequestMapping(value = "/childpath/{id}/{username}") public ModelAndView test(@PathVariable String id,@PathVariable String username){ System.out.println("get提交的参数id为:"+id+"用户名为:"+username); ModelAndView mv = new ModelAndView(); mv.addObject("message", "测试成功"); mv.setViewName("hello"); return mv; } }
此时的访问路径是:
http://localhost:8080/rootpath/childpath.action/3/sunwukong.action
这个url中传递的参数值是id=1
,用户名为:sunwukong
-
二、方法限定
- 方法的限定编码位置同样在注解@RequestMapping()中,如下图:
方法名上方的:method = RequestMethod.GET
是对请求方法的限定,可选择的常用方法有以下几种:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人