




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.Spring MVC3注解学习之注解配置原文地址:Spring MVC3的注解灵活强大,支持完全注解驱动,当放弃配置文件而完全采用注解配置时,你会被代码的简洁性深深吸引,这也是作者独立出一个篇幅来介绍其在Spring MVC3中的使用方法的根本原因。本文基于Spring3_MVC注解教程学习、总结而来,将从HTTP请求地址映射和通过注解绑定请求数据两个方面来介绍如何使用注解配置MVC,在此感谢作者的无私奉献,同时欢迎各位指点不妥之处。HTTP请求地址映射HTTP请求映射原理Spring MVC进行映射的依据请求路径映射表达式RequestMapping注解用于声明请求映射路径,除了标准的UR
2、L,还支持Ant风格(即?、*和*的字符)的和带xxx占位符的URL。如下所示/user/*/createUser*号代表一层任意内容的目录,匹配/user/aaa/createUser、/user/bbb/createUser等URL/user/*/createUser*代表0到多层任意内容的目录,匹配/user/createUser、/user/aaa/bbb/createUser等URL/user/createUser?代表两个任意字符(特殊字符需要转码,转码后作为一个字符,如空格,转码为%20仍认为是一个字符,?的数量即为字符的数量),匹配/user/createUseraa、/use
3、r/createUserbb等URL/user/userIduserId代表一个字符串或数字的变量,匹配user/123、user/abc等URL/user/*/userId匹配user/aaa/bbb/123、user/aaa/456等URLcompany/companyId/user/userId/detail匹配company/123/user/456/detail等的URLRequestMapping的用法比较灵活,有如下几种仅供参考:· RequestMapping(value="/delete")映射一个路径,且不限制HTTP请求方式· Re
4、questMapping(value="/delete", method = RequestMethod.GET)映射一个路径,且只允许通过Get方式请求· RequestMapping(value="/delete", "/del", method = RequestMethod.GET, RequestMethod.POST)映射多个路径,且只允许通过Get方式请求· RequestMapping("/delete")映射一个路径,且不限制HTTP请求方式· RequestMapp
5、ing("/delete", "/del")映射多个路径,且不限制HTTP请求方式· RequestMapping(value="/delete", method = RequestMethod.GET, RequestMethod.POST)映射多个路径,且只允许通过Get或POST方式请求对于RequestMapping来说,除了上述通过value限定HTTP请求路径、通过method限定HTTP请求方式外,还可以:通过params注解限定请求参数RequestMapping(value="/delete&qu
6、ot;, params="userId") public String delete(RequestParam("userId") String userId) /删除用户通过headers注解限定请求标头(报文头)参数RequestMapping(value="/show",headers="content-type=text/*")public String show(RequestParam("userId") String userId) /显示用户详情在上述两个例子中,params和h
7、eaders分别对请求参数及报文头属性进行限定,它们支持简单的表达式,下面以params表达式为例说明,headers可以参照params进行理解之:· "userId"表示请求必须包含名为userId的请求参数· "!userId":表示请求不能包含名为userId的请求参数· "userId!=value1":表示请求包含名为userId的请求参数,但其值不能为value1· "userId=value1","userName":请求必须包含名为use
8、rId和userName的两个请求参数,且param1参数的值必须为value1通过注解绑定请求数据绑定请求参数:RequestMapping(value="/rename")public String rename(RequestParam("userName") String userName, RequestParam("password") String password, RequestParam("rename") String rename)/具体处理代码绑定Cookies参数RequestMappi
9、ng(value="/cookies")public String cookies(CookieValue("JSESSIONID") String sessionId)/具体处理代码绑定请求标头(报文头)参数RequestMapping(value="/index")public String index(RequestHeader("Accept-Language") String accpetLanguage)/具体处理代码RequestParam有以下三个参数:value:参数名required:是否必需,
10、默认为true,表示请求中必须包含对应的参数名,如果不存在将抛出异常defaultValue:默认参数名,设置该参数时,自动将required设为false。极少情况需要使用该参数,也不推荐使用该参数。RequestMapping(value="/getUser")public String getUser(RequestParam("userName") String userName,)/根据用户名获取用户信息上面所示代码的处理方法是不安全的:如果HTTP请求不包含"userName"参数,将会导致异常!因此,如果不能保证&quo
11、t;userName"参数一定存在,为了安全起见,请使用:RequestParam(value = "userName", required = false)替代!使用命令/表单对象绑定所谓命令/表单对象并不需要实现任何接口,仅是一个拥有若干属性的POJO。Spring MVC按:“HTTP请求参数名 = 命令/表单对象的属性名”的规则,自动绑定请求数据,支持“级联属性名”,自动进行基本类型数据转换。示意图如下:范例代码如下:RequestMapping(value = "/show", "view", method = R
12、equestMethod.GET, RequestMethod.POST)public String show(User user, Model model) model.addAttribute("username", "springmvc");model.addAttribute("password", "类型非常灵活");return "show"总结:通过注解配置MVC非常的方便和快捷,个人尤其喜欢Controller和RequestMapping以及参数绑定。在Spring MVC3中用的比较多的(同时也是个人认为比较好用的)注解有如下几个:Controller将一个JavaBean声明为一个Controller控制器RequestMa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村生态农业合作项目协议条款
- 房地产行业资质证明书(7篇)
- 基于信息技术的智慧农村建设合作框架协议
- 国际政治经济秩序问题题库
- 行政管理公文写作的必要性试题及答案
- 行政管理中公民参与的机制与效果试题及答案
- 建筑施工工艺流程试题及答案
- 行政管理中数据共享与协同的实践研究试题及答案
- 2025标准合同模板:建筑工人劳动合同样本
- 2025分公司销售部劳动合同书
- 2025年纺羊绒纱项目可行性研究报告
- 中国重症患者肠外营养治疗临床实践专家共识(2024)解读
- 2026届新高考地理精准复习:海气相互作用
- 2024年新疆泽普县事业单位公开招聘村务工作者笔试题带答案
- 《网络素养教育》课件
- 2025年计算机科学与技术专业考试题及答案
- 脊髓损伤病人的护理查房
- 2025年全国特种设备安全管理人员A证考试练习题库(300题)含答案
- 浙江省9 1高中联盟2024-2025学年高一下学期4月期中英语试卷(含解析含听力原文无音频)
- 2023年高考生物试卷(福建)(答案卷)
- GB/T 6433-2025饲料中粗脂肪的测定
评论
0/150
提交评论