springmvc 开涛 注解式控制器
版本 | 定义处理器类 | 处理器映射适配器 | 备注 | 支持的注解 |
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 开涛 注解式控制器的更多相关文章
- springMVC 开涛 Controller接口控制器
通过注解实现控制器类,所以不用看Controller接口了.把之前的笔记保存下. 笔记(图片):http://pan.baidu.com/s/1mgMNDna 第三章看不太懂,3.2 3.3.只了解到 ...
- SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解
SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解 博客分类: 跟开涛学SpringMVC 6.6.2.@RequestParam绑定单个请求参数值 @RequestParam用于 ...
- Spring MVC 使用介绍(五)—— 注解式控制器(一):基本介绍
一.hello world 相对于基于Controller接口的方式,基于注解方式的配置步骤如下: HandlerMapping 与HandlerAdapter 分别配置为RequestMapping ...
- Spring MVC 使用介绍(六)—— 注解式控制器(二):请求映射与参数绑定
一.概述 注解式控制器支持: 请求的映射和限定 参数的自动绑定 参数的注解绑定 二.请求的映射和限定 http请求信息包含六部分信息: ①请求方法: ②URL: ③协议及版本: ④请求头信息(包括Co ...
- 03springMVC注解式控制器开发
注解式控制器开发简介 注解式控制器开发HelloWorld HelloWorld的运行流程 处理器定义 REST简介 URL路径映射 数据绑定 不同的Model有相同的属性的处理 静态资源的处理 1 ...
- spring(7)--注解式控制器的数据验证、类型转换及格式化
7.1.简介 在编写可视化界面项目时,我们通常需要对数据进行类型转换.验证及格式化. 一.在Spring3之前,我们使用如下架构进行类型转换.验证及格式化: 流程: ①:类型转换:首先调用Proper ...
- spring(6)--注解式控制器
6.1.注解式控制器简介 一.Spring2.5之前,我们都是通过实现Controller接口或其实现来定义我们的处理器类.已经@Deprecated. 二.Spring2.5引入注解式处理器支持 ...
- springMVC3学习(十)--注解式控制器
Spring2.5引入注解式处理器支持,通过@Controller和@RequestMapping注解定义 我们的处理器类.并且提供了一组强大的注解 需要通过处理器映射DefaultAnnotatio ...
- springMVC 开涛 数据绑定
纸上得来终觉浅,绝知此事要躬行. 一.@requestParam //使用方法URL:?username="sfp" test(@RequestParam(value=" ...
随机推荐
- 查看webdriver针对浏览器的一些函数
在用webdriver对浏览器进行操作时,很多操作并不是那么好找,后来在朋友的推荐下可以用下面的方法来寻找针对浏览器的一些操作,函数或属性等,这样方便我们可以查找一些方法去完成我们要的操作. 下面是查 ...
- MySql频繁查询、插入数据
当我们需要频繁地从数据库查询.插入数据时,可以将这些数据库操作汇集写到同一个类里,作为工具类直接调用. 将数据库的具体信息保存在.properties文件中,用log4j作为日志记录 MySql.ja ...
- hdoj1114 Piggy-Bank(DP 完全背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 思路: 题目看着有些绕,其实就是完全背包的变形,需要注意的是这里求最小值,所以需要将dp数组初始 ...
- SUSE11&12 永久关闭防火墙
SUSE11下:关闭操作为:service SuSEfirewall2_setup stopservice SuSEfirewall2_init stop取消开机启动防火墙:chkconfig SuS ...
- ubuntu连有线网 无法连接外网
问题:连上网线后,有ip,但是无法访问外网. 我的解决方案是: .通过命令行ifconfig命令查看以太网(即网线插口)的名称,如下图,'enp3s0'是网线插口(Ethernet以太网): zhum ...
- OC -网络请求 - NSURLConnection - POST
#import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...
- [leetcode]543. Diameter of Binary Tree二叉树直径
Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...
- 阅读笔记-A Message To Garcia
A Message To Garcia 主动性:世界会给你以厚报,既有金钱也有荣誉,只要你具备这样一种品质,那就是主动.就是不用别人告诉你,你就能出色的完成工作. 人类社会的最基本的行为法则----互 ...
- spring框架之依赖注入(DI)
1. IOC和DI的概念 * IOC -- Inverse of Control,控制反转,将对象的创建权反转给Spring!! * DI -- Dependency Injection,依赖注入,在 ...
- swagger ui js 错误:Failed to execute 'serializeToString' on 'XMLSerializer': parameter 1 is not of type 'Node'.
经过排查,引发此错误的原因是,表中有一个字段名称为“NodeName”,应该是在前台xml解析时引发冲突所致.我的解决办法是: 修改列名,修改映射. 如下: [Column("NodeNam ...