DispatcherServlet接受一个web请求之后,将请求发送给@Controller注解声明的不同控制器类。

这个调度过程依赖控制器类及其处理程序方法中声明的各种@RequestMapping注解。

Spring MVC中,web请求通过控制器类中声明的一个或者多个@RequestMapping注解映射到处理程序。

处理程序映射根据与上下文路径(Web应用上下文路径)和servlet路径(映射到DispatcherServlet的路径)的相对路径匹配URL。

使用@RequestMapping注解的最简单的策略是直接修饰处理程序方法。为此需要用包含URL模式的@RequestMapping注解声明每个处理程序方法。

如果方法的@RequestMapping注解匹配请求的URL,DispatcherServlet将请求发往这个方法处理。

@Controller

控制类

@Autowired

控制反转生成控制类的实例

@RequestMapping("/member/add")

方法1

@RequestMapping(value={"/member/remove", "/member/delete"}, method=RequestMethod.GET)

方法2

另外一种

@Controller

@RequestMapping("/member/*")

控制类

@Autowired

控制反转生成控制类的实例

@RequestMapping("add")

方法1

@RequestMapping(value={"remove","delete"}, method=RequestMethod.GET)

方法二

@RequestMapping("display/{user}")

方法三(@RequestParam("memberName") String memberName,  @PathVariable("user") String user)

@RequestMapping

方法四

方法五

对于方法三,如果接受的请求形式为/member/display/jdoe,方法将以jdoe值访问user变量

对于方法四使用了@RequestMapping注解,但是缺少URL值,因为类级别使用了/member/* URL通配符,这个处理方法作为全能的方法执行。

任何URL请求(例如/member/abcdefg或/member/randomrout)都会触发这个方法。

最后一个方法没有@RequestMapping注解,意味着这个方法是一个工具,对于Spring MVC没有影响。

按照HTTP请求类型映射请求

默认情况下,@RequestMapping注解假定所有的入站请求为HTTP GET类型。但是当入站请求是另一种HTTP类型,就有必要在@RequestMapping注解中明确指定的类型。

@RequestMapping (method = RequestMethod.POST)

public String submitForm (@ModelAttribute ("member") Member member, BindingResult result, Model model) {

……

}

用@RequestMapping映射请求的更多相关文章

  1. SpringMVC之使用requestMapping映射请求、映射参数、映射头

    1. 映射请求 作用:使用requestMapping可以指定处理器可以处理那些请求 地方:类和方法前面都可以 @requestMapping 类定义处: 提供初步的请求映射信息,相对于web应用的根 ...

  2. SpringMVC之使用 @RequestMapping 映射请求

    @RequestMapping注解 SpringMVC使用该注解让控制器知道可以处理哪些请求路径的,除了可以修饰方法,还可以修饰在类上. – 类定义处:提供初步的请求映射信息.相对于 WEB 应用的根 ...

  3. @RequestMapping映射请求,@PathVariable,@RequestParam,@RequestHeader的使用

    1.@RequestMapping Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求,在控制器的类定义及方法定义处都可标注. @RequestMa ...

  4. SpringMVC学习 -- 使用 @RequestMapping 映射请求

    在控制器的类定义及方法出定义出都可以标注 @RequestMapping: 类定义处:提供初步的请求映射信息.相对于 Web 应用的根目录. 方法定义出:提供进一步的细分映射信息.相对于类定义处的 U ...

  5. SpringMVC使用注解@RequestMapping映射请求

    pringMVC通过使用@RequestMapping注解,实现指定控制器可以处理哪些URL请求. 控制器的类定义及方法定义处都可以标注@RequestMapping: 类定义处:提供初步的请求映射信 ...

  6. SpringMVC听课笔记(三:使用@RequestMapping映射请求)

    1. Spring MVC使用 @RequestMapping 注解为控制器指定可以处理哪些URL请求 2. 标注点: --类定义处:提供初步的请求映射信息.相对于WEB应用的根目录 --方法处:提供 ...

  7. @RequestMapping映射请求

     1.SpringMVC使用@RequestMapping注解为控制器指定可以处理哪些URL请求.   2.在控制器的类定义和方法定义处都可标注@RequestMapping   2.1 类定义处:提 ...

  8. 使用 @RequestMapping 映射请求

  9. 【SpringMVC】SpringMVC系列2之@RequestMapping 映射约束请求

    @RequestMapping 映射约束请求 2.1.映射请求URL Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求,在控制器的类定义及方法定义 ...

随机推荐

  1. SQL Server 最小化日志操作解析,应用

    Sql Server 中数据库在BULK_LOGGED/SIMPLE模式下的一些操作会采用最小化日志的记录方式,以减小tran log落盘日志量从而提高整体性能. 这里我简单介绍下哪些操作在什么样的情 ...

  2. 五分钟打造自己的sql性能分析工具

    1.首先要有一个trace文件 2. 打开trace文件 3. 另存为跟踪表 4.登录你要保存到的目标sqlserver服务器 5. 选择要保存的数据库和表名称 6. 保存完成(左下角出现进度直到显示 ...

  3. jeditable参数详解

    一.导入js文件 <script type="text/javascript" src="jquery-1.10.2.min.js"></sc ...

  4. Atom Remote-FTP connecting FTP with SSL/TLS

    { "protocol": "ftp", "host": "xxx.xxx.xxx.xxx", "port&q ...

  5. zabbix监控mysql主从

    最近在公司搭建了zabbix监控系统,现在需要用zabbix来监控mysql的主从同步情况 现在说一下配置的详细步骤: 1.首先给mysql分配一个监控的账号: mysql> grant rep ...

  6. linux终端使用技巧

    Shift+Ctrl+T:新建标签页Shift+Ctrl+W:关闭标签页Ctrl+PageUp:前一标签页Ctrl+PageDown:后一标签页Shift+Ctrl+PageUp:标签页左移Shift ...

  7. Perl的基本语法<总结> (转载)

    前言:这篇文章是花了我很多时间.费了我很多心血才完成的,虽然连我自己都觉得无法达到尽善尽美的境界,但希望能帮助大家入门,稍微了解到Perl 到底是个什么样的东西,Perl到底有那些强大的功能,那么这篇 ...

  8. editPlus,3.7V 注册码

    editPlus,3.7V 注册码: username:linzhihui password:5A2B6-69740-D9CDE-79702-C9CCD

  9. OS开发拓展篇—应用之间的跳转和数据传

    iOS开发拓展篇-应用之间的跳转和数据传 说明:本文介绍app如何打开另一个app,并且传递数据. 一.简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够 ...

  10. git 冲突

    git中冲突会用特殊的标记 (<<<<<<<=======>>>>>>>) 特殊标记<<<< ...