-类定义处:提供初步的请求映射信息。相对于WEB应用的根目录
-方法处:提供进一步的细分映射,相对于类定义处的URL。若类定义处未标注@RequestMapping,则方法处标记的URL相对于WEB应用的根目录.
DispatcherServlet截获请求,就通过控制器上@RequestMapping提供的映射信息确定请求所对应的处理方法。
2.value属性
=============
介绍:表示映射到前这个请求方法的访问地址。
(1)只注解在方法上
/ 表示到http://ip:port/工程名/ 映射到代码的WebContent目录
/blog 就表示到http://ip:port/工程名/blog
@Controller
public class BlogController {
@RequestMapping(“/blog”)
public String hello(Model model){
model.addAttribute(“msg”,“Hello,SpringMVCAnnotation!”);
return “hello”;
}
}
浏览器:
(2)同时注解类与方法
@Controller
@RequestMapping(“/mycontroller”)
public class BlogController {
@RequestMapping(“/blog”)
public String hello(Model model){
model.addAttribute(“msg”,“Hello,SpringMVCAnnotation!”);
return “hello”;
}
}
浏览器:
3.params属性
==============
(1)params="yixin"表示请求地址必须带有yixin参数
(参数可以选择赋值或不赋值,但一定要有这个参数)
@Controller
public class BlogController {
@RequestMapping(value=“/blog”,params = “yixin”)
public String hello(Model model){
model.addAttribute(“msg”,“Hello,SpringMVCAnnotation!”);
return “hello”;
}
}
浏览器:
(2)params="name=yixin"表示请求参数中必须要有name,而且值还必须是yixin
@Controller
public class BlogController {
@RequestMapping(value=“/blog”,params = “name=yixin”)
public String hello(Model model){
model.addAttribute(“msg”,“Hello,SpringMVCAnnotation!”);
return “hello”;
}
}
浏览器:
(3)params="name!=yixin"表示
1、请求参数中不能有name参数。
2、有name参数,但值不能等于yixin
@Controller
public class BlogController {
@RequestMapping(value=“/blog”,params = “name!=yixin”)
public String hello(Model model){
model.addAttribute(“msg”,“Hello,SpringMVCAnnotation!”);
return “hello”;
}
}
浏览器:
第一种情况,不包含name参数:
第二种情况,包含name参数,但值不为yixin:
(4)params="!name"表示请求地址不能带有name参数
@Controller
public class BlogController {
@RequestMapping(value=“/blog”,params = “!name”)
public String hello(Model model){
model.addAttribute(“msg”,“Hello,SpringMVCAnnotation!”);
return “hello”;
}
}
浏览器:
(5)params= {“name!=yixin”,“password=123”} params可以有多个值,每个值之间是&&关系
@Controller
public class BlogController {
@RequestMapping(value=“/blog”,params = {“name!=yixin”,“password=123”})
public String hello(Model model){
model.addAttribute(“msg”,“Hello,SpringMVCAnnotation!”);
return “hello”;
}
}
浏览器:
4.headers属性
===============
介绍:限定请求头中的内容
headers = "User-Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) " +
“Chrome/58.0.3029.110 Safari/537.36”
* 表示限定浏览器必须是谷歌浏览器,而且版本还是Chrome/58.0.3029.110
@Controller
public class BlogController {
@RequestMapping(value=“/blog”,headers = “User-Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36”)
public String hello(Model model){
model.addAttribute(“msg”,“Hello,SpringMVCAnnotation!”);
return “hello”;
}
}
5.method属性
==============
介绍:使用method属性指定请求类型
用于约束请求的类型,可以收窄请求范围。指定请求谓词的类型如GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE等
浏览器默认是使用GET请求的。故以下POST会报错
@Controller
public class BlogController {
@RequestMapping(value=“/blog”,method = RequestMethod.POST)
public String hello(Model model){
model.addAttribute(“msg”,“Hello,SpringMVCAnnotation!”);
return “hello”;
}
}
浏览器:
我们修改为GET:
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-5pR8saQA-1715062655270)]
[外链图片转存中…(img-Hjvs84K7-1715062655270)]
[外链图片转存中…(img-XLwzbJs1-1715062655270)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!