暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SpringMVC 07 @RequestMapping说明

敲代码的人 2019-09-26
172

@RequestMapping原码


作用:用于建立请求URL和处理请求方法之间的对应关系。

出现位置:

    类上:请求URL的第一级访问目录。此处不写的话,就相当于应用的根目录。写的话需要以/开头。它出现的目的是为了使我们的URL可以按照模块化管理:

例如:一个模块  /test01/add         /test01/update          /test01/delete


            另一个模块  /test02/add       /test02/add       /test02/add       

红色的部分就是把RequsetMappding写在类上,使我们的URL更加精细。

方法上:请求URL的第二级访问目录。

属性:

value:用于指定请求的URL。它和path属性的作用是一样的。 可以有多个,表示映射同一个方法

method:用于指定请求的方式。

params:用于指定限制请求参数的条件。它支持简单的表达式。要求请求参数的key和value必须和配置的一模一样。

例如:params = {"accountName"},表示请求参数必须有accountName params = {"moeny!100"},表示请求参数中money不能是100。

headers:用于指定限制请求消息头的条件。


使用示例:

多个请求匹配一个处理器方法

    @RequestMapping({"doSome.do","doSome2.do"})
public ModelAndView doSome(){}


出现在类上,以后请求这些方法时都需要加上/test01,表示这个模块的value

@Controller()
@RequestMapping("/test01")
public class MyController2 {
@RequestMapping({"doSome.do","doSome2.do"})
public ModelAndView doSome(){}


对请求提交方式的定义method

Method 属性的取值为 RequestMethod 枚举常量。常用的为 RequestMethod.GET 与RequestMethod.POST ,分别表示提交方式的匹配规则为 GET 与 POST 提交

 @RequestMapping(value = "doOther.do",method = RequestMethod.POST)
public ModelAndView doOther(){}

以上处理器方法只能处理 POST 方式提交的请求。

也就是说,只要指定了处理器方法匹配的请求提交方式为 POST ,则相当于指定了请求发送的方式 要么使用表单请求,要么使用 AJAX 请求。其它请求方式被禁用。

当然,若不指定 method 属性,则无论是 GET 还是 POST 提交方式,均可匹配。即对于请求的提交方式无要求。

 


对请求中携带参数的定义params

@RequestMapping中 params 属性中定义了请求中必须携带的参数的要求。以下是几种情况的说明。

@RequestMapping(value="/xxx .do", params={ "name" ,"age"}) :要求请求中必须携带请求参数 name 与 age

@RequestMapping(value="/xxx .do", params={params={"!name" ,"age "}) :要求请求中必须携带请求参数 age ,但必须不能携带参数 name

@RequestMapping(value="/xxx .do", params= {"name=zs", "age =23 "}) :要求请求中必须携带请求参数 name ,且其值必须为 zs ;必须携带参数 age ,其值必须为 23

@RequestMapping(value = "doOther.do",params= {"name=zs", "age=23"})
public ModelAndView doOther(){}


可以设置请求头header

@RequestMapping(value = "doOther.do",headers = "Accept")
public ModelAndView doOther(){}

请求头中必须包含Accept


喜欢转发

明天见


SpringMVC 06 注解式开发入门

SpringMVC 05 再解<url pattern/>

SpringMVC 04 执行流程的简单原码分析分析

SpringMVC 03 视图解析器及简述执行流程

SpringMVC 02 概述及配置式入门

SpringMVC 01 前述 三层架构和MVC设计模式


文章转载自敲代码的人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论