新闻详情

新闻详情

首页 / 资讯中心 / 详情

IDEA搭建SpringMVC入门程序(2)——注解、属性、映射方式

发布时间:2026/9/6 22:59:11来源:尧图网络
IDEA搭建SpringMVC入门程序(2)——注解、属性、映射方式
接上一篇文章继续IDEA搭建SpringMVC入门程序11.注解1标注在方法上的注解上文中已经使用过Controller注解和RequestMapping注解我们在FirstController新增一个RequestMapping(/dog)//设置当前方法返回值类型为 String用于指定请求完成后跳转的页面publicvoidsayHello2(){System.out.println(访问到 sayHello2!);}那么如果想访问sayHello2这个方法访问路径就是下面这样http://localhost:8080/demo10/dog执行结果如下图注意浏览器报错404在这里是正常的因为上面的代码中我们并没有让它返回到某个jsp文件。2标注在类上的注解除了标注在方法上还可以直接标注在类上。比如下面这样我们右击Controller文件夹选择New—Java Class名字为SecondController初始代码如下package com.itheima.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;ControllerRequestMapping(/second)publicclassSecondController{RequestMapping(/say1)publicvoidsayHello3(){System.out.println(访问到 sayHello3!);}}我们重启tomcat,在浏览器中访问下面的路径http://localhost:8080/second/say1就可以看到控制台里正确打印出了信息。2.属性1value属性value属性是RequestMapping注解的默认属性当只有一个属性是则可以省略value本身。下面的两种写法都是一样的。RequstMapping(value/dog)RequestMapping(/dog)value也可以指定多个路径把路径封装成一个请求列表即可。创建一个新的方法RequestMapping(value{/addUser,/deleteUser})publicvoidcheckAuth(){System.out.println(执行系统的增删校验);}添加后项目代码如下重写运行tomcat,分别在浏览器里输入http://localhost:8080/demo10/second/addUserhttp://localhost:8080/demo10/second/deleteUser可以看到相同的内容被打印出来结果如下2method属性method指的是请求方式 一般有GET、POST、PUT、DELETE四种方式右击controller文件夹选择New—Java Class名称为MethodController参考代码如下packagecom.itheima.controller;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;ControllerRequestMapping(/method)publicclassMethodController{//处理请求为GET的方式RequestMapping(methodRequestMethod.GET)publicvoidget(){System.out.println(get请求);}//处理请求为POST的方式RequestMapping(methodRequestMethod.POST)publicvoidpost(){System.out.println(post请求);}//处理请求为PUT的方式RequestMapping(methodRequestMethod.PUT)publicvoidput(){System.out.println(put请求);}//处理请求为GET的方式RequestMapping(methodRequestMethod.DELETE)publicvoiddelete(){System.out.println(delete请求);}}在浏览器里输入下面的地址浏览器默认就是get方式http://localhost:8080/demo10/methodIDEA控制台会输出下面的内容其他方式建议使用api工具进行请求。3 param属性params属性中定义的值可以将请求映射的定位范围缩小。当客户端进行请求时如果请求参数的值等于params属性定义的值则可以正常执行到的方法否则映射的方法不执行。注意实际开发中这种方式很少使用这种方式。右击controller文件夹选择New—Java Class名字为ParamsController参考代码如下packagecom.itheima.controller;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;ControllerpublicclassParamsController{RequestMapping(value/params,paramsid1)publicvoidfindById(Stringid){System.out.println(idid);}}实现效果如下图可以看到如果填写id2是访问不到findById方法的3.映射方式1基于请求方式的URL路径映射GetMapping对应GET方式的请求PostMapping对应POST方式的请求PutMapping对应PUT方式的请求DeleteMapping对应DELETE方式的请求PatchMapping对应PATCH放到的请求如果使用基于请求方式的URL路径映射则简单修改一下即可比如原来是下面这样ControllerpublicclassParamsController{RequestMapping(value/dog,)publicvoidtest(){System.out.println(test);}}现在改成下面这样ControllerpublicclassParamsController{GetMapping(value/dog,)publicvoidtest(){System.out.println(test);}}GetMapping是RequestMapping(methodRequestMethod.GET)的缩写2基于Ant风格的URL路径映射?匹配单个字符*匹配任意数量字符不包括路径分隔符/**匹配任意层级的路径包括路径分隔符/代码风格如下RestControllerRequestMapping(/api/books)publicclassBookController{// 精确匹配 /api/books/details/123GetMapping(/details/{id})publicBookgetBookDetails(PathVariableLongid){// ...}// Ant风格: 匹配 /api/books/category/novel 或 /api/books/category/techGetMapping(/category/*)publicListBookgetBooksByCategory(){// ...}// Ant风格: 匹配 /api/books/search/任意内容GetMapping(/search/*/keyword)publicListBooksearchBooks(){// ...}// 多级路径匹配: 如 /api/books/files/2023/12/01/document.pdfGetMapping(/files/**)publicStringgetFile(){// ...}// 匹配单字符: /api/books/note/a 或 /api/books/note/bGetMapping(/note/?)publicStringgetNoteByChar(){// ...}}3基于RESTful风格的URL路径映射右击controller文件夹选择New—Java Class名字为UserController参考代码如下packagecom.itheima.controller;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.RequestMapping;ControllerRequestMapping(/users)publicclassUserController{GetMapping(/{id}/{name})publicvoidgetOrder(PathVariableStringid,// 用户IDPathVariableStringname// 用户名name){System.out.println(用户IDid);System.out.println(用户namename);}}在浏览器中输入下面的地址http://localhost:8080/demo10/users/2/tom这里2表示的就是idtom表示表示就是name访问浏览器后IDEA控制台就会出现我们的参数
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

3分钟上手猫抓(cat-catch):快速嗅探并下载网页视频音频的完整指南 2026/9/6 23:32:18

3分钟上手猫抓(cat-catch):快速嗅探并下载网页视频音频的完整指南

3分钟上手猫抓(cat-catch):快速嗅探并下载网页视频音频的完整指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓(cat-catch)是一…

阅读更多 →
论文降重与文本改写服务避坑指南:识别不可靠服务的五大信号 2026/9/6 23:32:18

论文降重与文本改写服务避坑指南:识别不可靠服务的五大信号

引言 毕业论文写作是每位学子都要经历的重要阶段,而降重与文本改写往往是其中绕不开的环节。面对市面上琳琅满目的服务,如何辨别优劣、避免踩雷,成为许多同学关心的问题。本文结合我的亲身经历,系统梳理识别不可靠服务的经验与方…

阅读更多 →
十分钟把小米智能家居接入 Home Assistant:设备统一管理 + 本地控制完整教程 2026/9/6 23:32:18

十分钟把小米智能家居接入 Home Assistant:设备统一管理 + 本地控制完整教程

十分钟把小米智能家居接入 Home Assistant:设备统一管理 本地控制完整教程 【免费下载链接】ha_xiaomi_home Xiaomi Home Integration for Home Assistant 项目地址: https://gitcode.com/GitHub_Trending/ha/ha_xiaomi_home 小米设备散落在米家 App 里&…

阅读更多 →
curl 邮件三协议实战:SMTP 发信、POP3 搬箱、IMAP 管箱一次讲清 2026/9/6 23:32:18

curl 邮件三协议实战:SMTP 发信、POP3 搬箱、IMAP 管箱一次讲清

curl 邮件三协议实战:SMTP 发信、POP3 搬箱、IMAP 管箱一次讲清 【免费下载链接】Awesome-Chinese-LLM 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及应用&#xff0c…

阅读更多 →
光伏发电课件设计:从原理、系统到收益测算的完整教学策略 2026/9/6 23:32:18

光伏发电课件设计:从原理、系统到收益测算的完整教学策略

简介:这是一份聚焦太阳能光伏发电技术的专业课件,面向新能源、电气工程与能源动力专业学生及初学者,帮助快速建立新能源发电的知识框架。课件以太阳能基础为起点,清晰讲解了太阳构造、辐射特性、太阳能电池工作原理与光伏发电系统…

阅读更多 →
DeepSeek API涨价12倍后,模型选型与成本优化实战指南 2026/9/6 23:29:17

DeepSeek API涨价12倍后,模型选型与成本优化实战指南

DeepSeek这次调整,最值得关注的不是“涨了多少”,而是“为什么要涨、涨完之后怎么选”。官方确认 API 价格大幅上调,最高涨幅 12 倍,同时 Pro 版模型在实际表现上和 Flash 没有拉开明显差距,再加上知识截止日期还停在 …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞