Spring MVC-RequestMapping

-类定义处:提供初步的请求映射信息。相对于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开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值