SpringMVC_@RequestMapping 待我称王封你为后i 2022-05-23 13:25 199阅读 0赞 ### 一、@RequestMapping修饰 ### SpringMVC使用 @RequestMapping 注解为控制器指定可以处理哪些URL请求 **1、 在控制器的类定义及方法定义处都可标注 @RequestMapping**: 1)类定义处:提供初步的请求映射信息,相对于WEB应用的根目录 2)方法处:提供进一步的细分映射信息。相对于类定义处的URL信息,若类定义处未标注 @RequestMapping ,则方法处标注的URL相对于WEB应用的根目录。 \- DispatcherServlet 截获请求后,就通过控制器上的 @RequestMapping 提供的映射信息确定请求所对应的处理方法。 package com.smart.handlers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; /** * @author chenpeng * @date 2018/6/9 18:24 */ @Controller(value = "/springMVC") public class SpringMVCTest { private final String SUCCESS = "success"; /** * 1、@RequestMapping 除了修饰方法还可以修饰类 * 2、 * 1)、类定义处:提供初步的请求映射信息,相当于 WEB 应用的根目录 * 2)、方法处:挺浓进一步的细分映射信息, * 相对于类定义处的URL信息,若类定义处未标注 @RequestMapping ,则方法处标注的URL相对于WEB应用的根目录。 * @return */ @RequestMapping(value = "/testRequestMapping") public String testRequestMapping(){ System.out.println("testRequestMapping"); return SUCCESS; } } **2、@RequestMapping请求方式** — @RequestMapping除了可以使用请求URL映射请求外,还可以使用请求方法、请求参数以及请求头映射请求 — @RequestMapping 的value、method、params 及 heads 分别表示请求URL、请求方法、请求参数及请求头的映射条件,他们之间的关系是 与 的关系,联合使用多个条件,可以让请求映射更加精确化。 — params和heads支持简单的表达式: * param1:表示请求必须包含名为param1的请求参数 * !param1:表示请求不能包含名为param1的请求参数 * param1 != value1: 表示请求包含名为param1的请求参数,但是其值不能为value1 * \{“param1 = value1”,“param2”\}:请求必须包含名为param1和param2的两个请求参数,且param1的值必须为value1 package com.smart.handlers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; /** * @author chenpeng * @date 2018/6/9 18:24 */ @Controller @RequestMapping("/springmvc") public class SpringMVCTest { private final String SUCCESS = "success"; /** * 1、@RequestMapping 除了修饰方法还可以修饰类 * 2、 * 1)、类定义处:提供初步的请求映射信息,相当于 WEB 应用的根目录 * 2)、方法处:挺浓进一步的细分映射信息, * 相对于类定义处的URL信息,若类定义处未标注 @RequestMapping ,则方法处标注的URL相对于WEB应用的根目录。 * @return */ @RequestMapping("/testRequestMapping") public String testRequestMapping(){ System.out.println("testRequestMapping"); return SUCCESS; } /** * 常用:使用method属性来指定请求方式 * @return */ @RequestMapping(value = "/testMethod",method = RequestMethod.POST) public String testMethod(){ System.out.println("testMethod"); return SUCCESS; } /** * 了解:可以使用 params 和 headers 来更加精确的映射请求,params 和 headers支持简单的表达式 * @return */ @RequestMapping(value = "testParmsAndHeaders", params = {"username","age!=10"}, headers = {"Accept-Language=zh-CN,zh;q=0.8"}) public String testParmsAndHeaders(){ System.out.println("testParmsAndHeaders"); return SUCCESS; } } ### 二、Ant风格资源地址 ### Ant风格资源地址支持3种匹配符: 1. ?:匹配文件中的一个字符 2. \* :匹配文件中的任意字符 3. \*\* :匹配多层路径 @RequestMapping还支持Ant风格的URL
还没有评论,来说两句吧...