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. Sqlserver 平面文件导入/ SSIS FlatFileSource导入文件时 出现LocaleID is not installed报错问题

    最近在使用SqlServer和SSIS导入一个CSV文件到数据库时(SSIS选用的FlatFileSource作为数据流源),老是遇到  The LocaleID 4 is not installed ...

  2. Visual studio 中编译错误SQL71006: Only one statement is allowed per batch. A batch separator, such as 'GO', might be required between statements.

    把写好的sql脚本,并在mssqlmanager里面编译成功的存储过程脚本复制到vs项目下,出现错误信息如下:SQL71006: Only one statement is allowed per b ...

  3. 华为项目管理10大模板Excel版(可直接套用_非常实用)

    项目管理是管理学的一个分支学科 ,对项目管理的定义是:指在项目活动中运用专门的知识.技能.工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望的过程.项目管理是对一些与成功地达成一系 ...

  4. Java使用基本字节流OutputStream的四种方式对于数据复制(文本,音视频,图像等数据)

    //package 字符缓冲流bufferreaderDemo; import java.io.BufferedOutputStream; import java.io.FileInputStream ...

  5. Win7家庭版包“已停止工作”

    在VS2010上依据接口,写了个WiFi共享软件,在Win7旗舰班上正确无误,而在却在Win7家庭版上运行不了,报“已停止工作”错误. 解决方法: 1.下载安装vs2010对应的.Net平台:Micr ...

  6. ecshop编辑器fckeditor换百度ueditor编辑器教程

    1.下载uediter编辑器,解压上传目录uediter到根目录/includes/下   2.修改admin/includes/lib_main.php         /**   * 生成编辑器  ...

  7. postgresql之distinct用法

    1. 去重:关键字distinct去重功能  在其他数据库(oracle,mysql)是存在:当然postgresql也有这个功能 [postgres@sdserver40_210 ~]$ psql ...

  8. python正则表达式之元字符介绍

    python中元字符及其含义如下: 元字符 含义 . 匹配除换行符以外的任意一个字符 ^ 匹配行首 $ 匹配行尾 ? 重复匹配0次或1次 * 重复匹配0次或更多次 + 重复匹配1次或更多次 {n,} ...

  9. AngularJS 实现的输入自动完成补充功能

    1.首先需要引入:angucomplete.js第三方库 2.增加model : var app = angular.module('app', ["angucomplete"]) ...

  10. 5.toogleButton以及Switch

    Switch现在用得更多,比toogleButton界面美观,用户体验也要好. 点击事件: 用isChecked来判断点击的是哪一个,然后做相对应的回应.