新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/9/17 1:46:23来源:尧图网络
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

相关资讯

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

较早相关资讯

最新相关资讯

SSM框架教学质量评价系统:从集成原理到防重复评教实战 2026/9/17 1:45:37

SSM框架教学质量评价系统:从集成原理到防重复评教实战

简介:基于SSM的教学质量评价系统设计与实现源码,配有可用的MySQL数据库脚本,面向计算机毕业设计学生,作为课程设计与毕设选题的参考项目。资源共包含2个文件,一个为SSM项目源码压缩包,一个为数据库脚本&…

阅读更多 →
Maven exec:java报错排查:从default-cli到Caused by的完整指南 2026/9/17 1:45:37

Maven exec:java报错排查:从default-cli到Caused by的完整指南

1. 报错拆解:exec-maven-plugin 与 default-cli 究竟是谁在说话先把这个报错放回它出现的场景里看。你在 IDEA 里写了一个带 main 方法的类,想在 Maven 项目里快速跑一下;或者在命令行敲了mvn exec:java;又或者用 IDEA 的 Run Any…

阅读更多 →
SEO入门指南:从原理到实战的关键技巧 2026/9/17 1:45:37

SEO入门指南:从原理到实战的关键技巧

1. 从零认识SEO:为什么每个内容创作者都需要掌握这项技能第一次听说SEO这个词是在2013年,当时我刚入职一家互联网公司的内容运营岗位。我的主管指着网站后台那个不断跳动的访问量数字说:"这就是SEO带来的魔力。"那时的我完全不明白…

阅读更多 →
Windows下Git安装与配置:常见报错排查与解决指南 2026/9/17 1:45:37

Windows下Git安装与配置:常见报错排查与解决指南

Git这玩意儿,在Windows上出问题的频率,远比我刚入行时以为的高得多。很多人觉得安装Git不就是双击exe一路Next嘛,能有什么技术含量?实际上,光“安装时出现错误提示”这个关键词,后台搜索量就常年居高不下&a…

阅读更多 →
HarmonyOS数学教育应用开发实践 2026/9/17 1:45:37

HarmonyOS数学教育应用开发实践

1. 项目概述:HarmonyOS上的数学教育应用开发"竖式计算达人"是一款基于HarmonyOS平台开发的数学教育类应用,专注于100以内加法的竖式计算训练。这个看似简单的应用实际上融合了HarmonyOS的多种核心特性,为开发者提供了一个完整的学习…

阅读更多 →
Git离线迁移最佳实践:用git bundle安全拷贝仓库 2026/9/17 1:42:37

Git离线迁移最佳实践:用git bundle安全拷贝仓库

1. 项目概述:为什么“不同电脑间拷贝 Git 仓库”不是个简单复制粘贴的事你有没有遇到过这种场景:在公司笔记本上写完一段关键功能,回家想接着调试,结果发现——代码在另一台电脑上,而公司内网不让连外网,Gi…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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