版本 定义处理器类 处理器映射适配器 备注 支持的注解
2.5前 controller      
2.5 注解

DefaultAnnotationHandlerMapping

AnnotationMethodHandlerAdapter

@Controller

@RequestMapping

@Controller

@RequestMapping

@RequestParam

@ModelAndView

@SessionAttributes

@InitBinder

3.0 ... ... ... @PathVariable

@CookieValue

@RequestHeader

@RequestBody

@ResponseBody

@ResponseStatus

@ExceptionHandler

@PathVariable

3.1 ...

RequestMappingHandlerMapping

RequestMappingHandlerAdapter

...  

请求的映射分为四种:URL,方法,参数,头

在处理器类上 可以加 @Controller @RequestMapping,后者主要用于窄化功能处理方法的映射

开涛讲得开启注解的方式 跟 孔浩讲得不同呀,前者是引入两个bean,后者是引入<context><mvc>标签?

前者只会去发现@Controller,@RequestMapping;后者会扫描所有带注解的bean

***-servlet.xml应该放在WEB-INF目录下,这样使用classpath:***-servlet.xml

URL路径映射

普通URL

URL模板

ant风格:http://blog.csdn.net/h396071018/article/details/8278389  ?不能为空,*(0或多个字符) **(0或多个目录)都可以。最长匹配优先

正则表达式:{变量名:正则表达式}

或 的关系:value={"/", "/test"};

请求方法映射

或 的关系:method={RequestMethod.POST, RequestMethod.GET};

如果需要支持OPTIONS、TRACE,请添加DispatcherServlet在web.xml的初始化参数:dispatchOptionsRequest 和 dispatchTraceRequest 为true。

请求参数映射

@RequestMapping(params="create") 有create参数

@RequestMapping(params!="create") 没有create参数

@RequestMapping(params="create=sfp") create=sfp

@RequestMapping(params="create!=sfp") create!=sfp

且 的关系 @RequestMapping(params={"test1", "test2=create"})

@RequestMapping("/user")或@RequestMapping(value="/user")  对路径进行映射
@RequestMapping(params="user") 对参数进行映射
@RequestParam(value="user") 对参数进行映射

请求头映射

@RequestMapping(header="Accept") 跟请求参数类似

接下来看生产者,消费者请求限定

 

springmvc 开涛 注解式控制器的更多相关文章

  1. springMVC 开涛 Controller接口控制器

    通过注解实现控制器类,所以不用看Controller接口了.把之前的笔记保存下. 笔记(图片):http://pan.baidu.com/s/1mgMNDna 第三章看不太懂,3.2 3.3.只了解到 ...

  2. SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解

    SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解 博客分类: 跟开涛学SpringMVC   6.6.2.@RequestParam绑定单个请求参数值 @RequestParam用于 ...

  3. Spring MVC 使用介绍(五)—— 注解式控制器(一):基本介绍

    一.hello world 相对于基于Controller接口的方式,基于注解方式的配置步骤如下: HandlerMapping 与HandlerAdapter 分别配置为RequestMapping ...

  4. Spring MVC 使用介绍(六)—— 注解式控制器(二):请求映射与参数绑定

    一.概述 注解式控制器支持: 请求的映射和限定 参数的自动绑定 参数的注解绑定 二.请求的映射和限定 http请求信息包含六部分信息: ①请求方法: ②URL: ③协议及版本: ④请求头信息(包括Co ...

  5. 03springMVC注解式控制器开发

    注解式控制器开发简介 注解式控制器开发HelloWorld HelloWorld的运行流程 处理器定义 REST简介 URL路径映射 数据绑定 不同的Model有相同的属性的处理 静态资源的处理 1  ...

  6. spring(7)--注解式控制器的数据验证、类型转换及格式化

    7.1.简介 在编写可视化界面项目时,我们通常需要对数据进行类型转换.验证及格式化. 一.在Spring3之前,我们使用如下架构进行类型转换.验证及格式化: 流程: ①:类型转换:首先调用Proper ...

  7. spring(6)--注解式控制器

    6.1.注解式控制器简介 一.Spring2.5之前,我们都是通过实现Controller接口或其实现来定义我们的处理器类.已经@Deprecated.   二.Spring2.5引入注解式处理器支持 ...

  8. springMVC3学习(十)--注解式控制器

    Spring2.5引入注解式处理器支持,通过@Controller和@RequestMapping注解定义 我们的处理器类.并且提供了一组强大的注解 需要通过处理器映射DefaultAnnotatio ...

  9. springMVC 开涛 数据绑定

    纸上得来终觉浅,绝知此事要躬行. 一.@requestParam //使用方法URL:?username="sfp" test(@RequestParam(value=" ...

随机推荐

  1. 在hadoop运行tensor flow

    http://www.infoq.com/cn/articles/deeplearning-tensorflow-casestudy http://www.tuicool.com/articles/a ...

  2. ftp上传下载工具类

    package com.taotao.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNo ...

  3. Python合并列表,append()、extend()、+、+=

    在实际应用中涉及到了列表合并的问题. 在应用append()时,发现列表是以一个元素的形式追加到列表上的,最后查询后用的是extend()方法,下面是区别   1.append()  向列表尾部追加一 ...

  4. python之字典【dict】

    #Auther Bob#--*--conding:utf-8 --*-- #创建一个字典dictdic1 = {'k1':'v1','k2':'v2'}dic2 = dict(k1='v1',k2=' ...

  5. 【原创】java删除未匹配的文件夹FileFileFilter,FileUtils,删除目录名字不是某个名字的所有文件夹及其子文件夹

    闲着无聊,写了个小程序. 需求: 举例: 比如我的E盘有一个test的目录,test的结构如下: 要求除了包含hello的目录不删除以外,其他的所有文件夹都要删除. 代码如下: package com ...

  6. swift 官方文档

    swift 官方文档 https://swift.org/blog/

  7. JTemplate学习(四)

    注释.自定方法.模板嵌套子模板.循环输出不同class <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "htt ...

  8. js如何切割字符串

    <script language="javascript"> str="2,2,3,5,6,6"; //这是一字符串 var strs= new A ...

  9. DNA motif 搜索算法总结

    DNA motif 搜索算法总结 2011-09-15 ~ ADMIN 翻译自:A survey of DNA motif finding algorithms, Modan K Das et. al ...

  10. BZOJ1222 [HNOI2001]产品加工 - 动态规划- 背包

    题解 怎么看都不像是个背包,直到我看了题解→_→, 第一次碰到这么奇怪的背包= = 定一个滚动数组$F_i$, $i$表示机器$a$用了$i$的时间, $F_i$表示机器$b$用了$F_i$的时间, ...