学习@RequestMapping注解,参考Spring API

1.@RequestMapping可以修饰在类类型和方法上
      ①.修饰在类定义上:   提供初步的URL映射,相对于web应用根目录。
      ②.修饰在方定义法上:  提供更细致的URL映射,若类定义上有注解,则相对于类定义上的URL映射。否则相对于web应用根目录映射

代码1:

只在方法上加@RequestMapping:

   1: @Controller

   2: public class TestRequestMapping {

   3:     @RequestMapping("/testMethod")

   4:     public String testMethod() {

   5:         System.out.println("testMethod");

   6:         return "success";

   7:     }

   8: }

URL:

   1: <a href="testMethod">testMethod</a>

代码2:

在类和方法上加@RequestMapping:

   1: @RequestMapping("/testClass")

   2: @Controller

   3: public class TestRequestMapping {

   4:     @RequestMapping("/testMethod")

   5:     public String testClassAndMethod() {

   6:         System.out.println("testClassAndMethod");

   7:         return "success";

   8:     }

   9: }

URL:

   1: <a href="testClass/testMethod">testClassAndMethod</a>

代码3:

只在类上加@RequestMapping:

   1: @RequestMapping("/testClass")

   2: @Controller

   3: public class TestRequestMapping {

   4:  

   5:     public String testClassAndMethod() {

   6:         System.out.println("testClass");

   7:         return "success";

   8:     }

   9: }

URL:

   1: <a href="testClass">testClass</a>

运行时,发出Tomcat警告: No mapping found for HTTP request with URI [/mvc02/testClass] in DispatcherServlet with name 'dispatcherServlet'。

也就说在类上加注解后,必须在方法上也加注解。查看api,发现开头第一句 Annotation for mapping web requests onto specific handler classes and/or handler methods

好吧没仔细看api,classes and/or handler methods。(⊙﹏⊙)b

2.@RequestMapping有7个参数,value,method,headers,params之间是与的关系:

String[]        value URL路径:"/myPath/myMethod"
RequestMethod[]  method 请求方式:GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE
String[]   headers 请求头,用法与params类似,支持简单表达式
String[] params 请求参数,支持简单表达式
      params={"name"}:参数中必须包含名为name的参数
      params={"!name"}:参数中不能包含名为name的参数
      params={"name!=xx"}:参数中若包含了名为name的参数,
                    则name!=xx。参数中也可以不包含名为name的参数
      params={"name=xx"}:参数中必须包含名为name的参数,
                    且name=xx。
String[] produces 指定哪些媒体类型可以不需要
String[] consumes 指定哪些媒体类型可以额外 添加
String name 映射名称

method——代码:

   1: @RequestMapping("/testClass")

   2: @Controller

   3: public class TestRequestMapping {

   4:     @RequestMapping(value = "/testMethod_GET", method = RequestMethod.GET)

   5:     public String testMethod_GET() {

   6:         System.out.println("method running....");

   7:         return "success";

   8:     }

   9:  

  10:     @RequestMapping(value = "/testMethod_POST", method = RequestMethod.POST)

  11:     public String testMethod_POST() {

  12:         System.out.println("method running....");

  13:         return "success";

  14:     }

  15:  

  16: }

URL:

   1: <form action="testClass/testMethod_POST" method="post">

   2:     <input type="submit" value="testMethod_POST"/>

   3: </form>

   4: <br/><br/>

   5:  

   6: <a href="testClass/testMethod_GET">testMethod_GET</a>

最新文章

  1. Tomcat Context配置(转)
  2. 苹果Mac操作系统下怎么显示隐藏文件
  3. tmux environment keep
  4. STRUTS2核心控制器:FilterDispatcher
  5. 【微信公众平台开发】百度周边搜索接口php封装
  6. General Structure of Quartz.NET and How To Implement It
  7. javaScript 比较数字大小
  8. Ios8之后, 定位的delegate不能触发的问题
  9. 初试valgrind内存调试工具
  10. leetcode-数组中只出现一次的数字
  11. 『高性能模型』HetConv: HeterogeneousKernel-BasedConvolutionsforDeepCNNs
  12. HttpService
  13. C# word 图片大小
  14. 完整的Django入门指南学习笔记6
  15. 【Spring】15、spring mvc路径匹配原则
  16. Oracle11g温习-第十一章:管理undo
  17. Several ports (8005, 8080, 8009) required by Tomcat
  18. SaltStack 入门到精通第二篇:Salt-master配置文件详解
  19. CentOS 7.3 安装指南
  20. mongodb 有一个坑 报错 no mongos proxies found in seed list

热门文章

  1. Centos 7 中yum安装Mysql和修改mysql配置
  2. Redis 应用场景【商品拼团抢购】
  3. Beautifulsoup提取特定丁香园帖子回复
  4. 0809MySQL-InnoDB Compact 行记录格式
  5. 进入全屏 nodejs+express+mysql实现restful风格的增删改查示例
  6. hdoj 1257最少拦截系统
  7. 介绍C++ STL常用模板使用方法的相关资料
  8. HDU 5176
  9. C语言可变參实现參数累加返回
  10. HDU2191_悼念512汶川大地震遇难同胞——珍惜如今,感恩生活(背包/多重背包)