范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

SpringMVCController和RequestMapping注解

  Spring 2.5 版本新增了 Spring MVC 注解功能,用于替换传统的基于 XML 的 Spring MVC 配置。
  创建两个传统风格的控制器,它们是实现 Controller 接口的类。传统风格的控制器不仅需要在配置文件中部署映射,而且只能编写一个处理方法,不够灵活。
  使用基于注解的控制器具有以下 2 个优点:
  在基于注解的控制器类中可以编写多个处理方法,进而可以处理多个请求(动作),这就允许将相关的操作编写在同一个控制器类中,从而减少控制器类的数量,方便以后维护。
  基于注解的控制器不需要在配置文件中部署映射,仅需要使用 @RequestMapping 注解一个方法进行请求处理即可。
  下面介绍在 Spring MVC 中最重要的两个注解类型:@Controller 和 @RequestMapping。  Controller注解
  @Controller 注解用于声明某类的实例是一个控制器。例如,在 net.biancheng.controller 包中创建控制器类 IndexController,示例代码如下。package net.biancheng.controller; import org.springframework.stereotype.Controller; @Controller public class IndexController {     // 处理请求的方法 }123456复制代码类型:[java]
  Spring MVC 使用扫描机制找到应用中所有基于注解的控制器类,所以,为了让控制器类被 Spring MVC 框架扫描到,需要在配置文件中声明 spring-context,并使用 元素指定控制器类的基本包(请确保所有控制器类都在基本包及其子包下)。  RequestMapping注解
  一个控制器内有多个处理请求的方法,如 UserController 里通常有增加用户、修改用户信息、删除指定用户、根据条件获取用户列表等。每个方法负责不同的请求操作,而 @RequestMapping 就负责将请求映射到对应的控制器方法上。
  在基于注解的控制器类中可以为每个请求编写对应的处理方法。使用 @RequestMapping 注解将请求与处理方法一 一对应即可。
  @RequestMapping 注解可用于类或方法上。用于类上,表示类中的所有响应请求的方法都以该地址作为父路径。
  @RequestMapping 注解常用属性如下。
  1. value 属性
  value 属性是 @RequestMapping 注解的默认属性,因此如果只有 value 属性时,可以省略该属性名,如果有其它属性,则必须写上 value 属性名称。如下。@RequestMapping(value="toUser") @RequestMapping("toUser")12复制代码类型:[java]
  value 属性支持通配符匹配,如 @RequestMapping(value="toUser/*") 表示 http://localhost:8080/toUser/1 或 http://localhost:8080/toUser/hahaha 都能够正常访问。
  2. path属性
  path 属性和 value 属性都用来作为映射使用。即 @RequestMapping(value="toUser") 和 @RequestMapping(path="toUser") 都能访问 toUser() 方法。
  path 属性支持通配符匹配,如 @RequestMapping(path="toUser/*") 表示 http://localhost:8080/toUser/1 或 http://localhost:8080/toUser/hahaha 都能够正常访问。
  3. name属性
  name属性相当于方法的注释,使方法更易理解。如 @RequestMapping(value = "toUser",name = "获取用户信息")。
  4. method属性
  method 属性用于表示该方法支持哪些 HTTP 请求。如果省略 method 属性,则说明该方法支持全部的 HTTP 请求。
  @RequestMapping(value = "toUser",method = RequestMethod.GET) 表示该方法只支持 GET 请求。也可指定多个 HTTP 请求,如 @RequestMapping(value = "toUser",method = {RequestMethod.GET,RequestMethod.POST}),说明该方法同时支持 GET 和 POST 请求。
  5. params属性
  params 属性用于指定请求中规定的参数,代码如下。@RequestMapping(value = "toUser",params = "type") public String toUser() {          return "showUser"; }12345复制代码类型:[java]
  以上代码表示请求中必须包含 type 参数时才能执行该请求。即 http://localhost:8080/toUser?type=xxx 能够正常访问 toUser() 方法,而 http://localhost:8080/toUser 则不能正常访问 toUser() 方法。@RequestMapping(value = "toUser",params = "type=1") public String toUser() {          return "showUser"; }12345复制代码类型:[python]
  以上代码表示请求中必须包含 type 参数,且 type 参数为 1 时才能够执行该请求。即 http://localhost:8080/toUser?type=1 能够正常访问 toUser() 方法,而 http://localhost:8080/toUser?type=2 则不能正常访问 toUser() 方法。
  6. header属性
  header 属性表示请求中必须包含某些指定的 header 值。
  @RequestMapping(value = "toUser",headers = "Referer=http://www.xxx.com") 表示请求的 header 中必须包含了指定的"Referer"请求头,以及值为"http://www.xxx.com"时,才能执行该请求。
  7. consumers属性
  consumers 属性用于指定处理请求的提交内容类型(Content-Type),例如:application/json、text/html。如
  @RequestMapping(value = "toUser",consumes = "application/json")。
  8. produces属性
  produces 属性用于指定返回的内容类型,返回的内容类型必须是 request 请求头(Accept)中所包含的类型。如 @RequestMapping(value = "toUser",produces = "application/json")。
  除此之外,produces 属性还可以指定返回值的编码。如 @RequestMapping(value = "toUser",produces = "application/json,charset=utf-8"),表示返回 utf-8 编码。
  使用 @RequestMapping 来完成映射,具体包括 4 个方面的信息项:请求 URL、请求参数、请求方法和请求头。
  开课吧广场-人才学习交流平台

经典科技风Earthquake大地震Cinenova影院EarthquakeSound大地震自推出全新的高端定制CinenovaClarte系列起,以Cinenova为名的大地震高级影院遍布全国各地。CinenovaClarte清澈系列经典再升级,LEOPOLD新配色FC980MBT荷本版机械键盘上市LEOPOLD(利奥博德)FC980M终于发布新品,全新配色的FC980MBT荷本版机械键盘10月18日上市。低饱和度的蓝紫调配色蓝牙5。1TypeC接口干电池供电加上全新的外包装他设计了一款经典永恒的产品CambridgeAudioEVO系列视频加载中EVO系列由CambridgeAudio英国剑桥设计师GedMartin带领团队,在伦敦工作室设计完成。当GedMartin在伦敦的工作室里坐下来设计Evo的时候,他下定杰长老说经典耳机索尼CD3000,封闭耳机中的万年老二在耳机界也有很多的经典,虽然它们不是神器,也并不是非常昂贵。但却因为声音的经典而成为一代铭器,从而在二手市场保值或升值。在这个系列文章中笔者将和大家一起分享一下这些经典的耳机的不凡杰长老聊经典耳机耳边的音箱,AKGK1000在耳机界有很多传说中的神器,昂贵和稀少是基本特征。烧友们一听见就会两眼发绿光,我也一样。很幸运自己听到过其中的一部分,在这个系列文章中笔者将和大家一起分享一下这些神器的不凡之处。希13万的快乐源泉,你有,我有,大家有当代年轻人们都自带标签,从丧文化到佛系,从打工人到躺平,种类繁多,不定时更换,但是贫穷这一标签,却始终坚定相伴。生活在和平年代的当代年轻人,逃过了战争,却没躲开债务危机。据有关调查教师节日快乐!表达敬意心意到就好,别添堵添乱今年教师节前,江西南昌西湖区融媒体中心发布了一封倡议书,倡议希望广大家长配合教师们廉洁过节不收礼。并希望社会各界进行监督。在这之前,蛇叔读到凤凰网官方微博发布的一条信息,深圳一中学汽车空气净化器有用吗?车载空气净化器能除甲醛吗?汽车日常行走货运的重要交通工具。随着汽车工业的发展,人们越来越多地追求智能化多样化个性化,尤其是车内的舒适性安全性等等。其中汽车内部的空气污染问题不得不令人担忧,也是必须关注和解决驶入算力时代,车企开启军备竞赛一场围绕自动驾驶展开的权力游戏正在拉开大幕。文Toretto过去的百年时间里,马力让全球的城市与工业疯狂生长。即便在如今电动汽车崛起的时代,人们仍旧习惯用马力来表达车辆的动力性能。智能电动汽车的春秋时代到来了吗?如今只是传统汽车产业转型的初级阶段。文王斌斌4月19日之前,没有人能想到,特斯拉车主维权会成为今年上海车展期间汽车行业最热门的话题。其实在今年上海车展期间,前来维权的车主并不只有这空气净化器开机多久才合适?需要一天24小时打开吗?当周围环境的烟雾灰尘等抓紧对日常生活工作等有影响时,很多家庭会考虑使用家用空气净化器。为了改善空气质量,空气净化器是专门为除净空气中灰尘花粉等颗粒污染物,汽车尾气油漆味等气态污染物
iOS更新后支持戴口罩解锁,为何网友却叫好魅族超声波指纹?最近果粉又迎来了一件喜事,就是iPhone更新iOS15。4之后,可支持戴口罩通过面容ID解锁功能。在这个疫情反复无常的时期,更新这样一个功能确实有利于提供苹果手机用户卫生安全防护OPPOFindX5Pro综合评测多一块芯片,影像系统提升明显前言如今手机圈可谓是太卷了,没有个自研芯片感觉都不好意思发新机了。这不OPPO也携首款自家研发的马里亚纳X芯片发布了OPPOFindX5系列,这颗自研芯片的商用不仅仅代表着OPPO屏幕上2K,续航超iPhone,缺点也很明显,红米K50入手评测不知道你们发现没有,很多人在使用手机的时候吐槽更多的地方,不是手机发热问题,就是续航时间太短,好像只有性能低的入门机才能解决这样的问题,难道发热和续航这种比较基础体验都做不好吗?实移动云同比增长114,收入达242亿元3月23日,中国移动公布2021年全年业绩,其中,政企市场移动云非常亮眼,同比增长114,收入达242亿元。据悉,2021年,中国移动充分发挥融合创新的算网集成化服务能力和配套完备小米12Lite手机现身Geekbench跑分网站搭载骁龙778G芯片据GSMArena报道,小米在全球范围内推出了小米12系列旗舰机,虽然推出了一款价格低廉的小米12X智能手机,但该公司还可能在研发一款定位更低的小米12Lite手机。这款型号为22美团2021年亏损超235亿元,有哪些原因令其由盈转亏?后疫情时代,美团(3690。HK)营收稳中有升。3月25日,美团发布2021年第四季度及全年业绩。2021年公司营收1791。28亿元(人民币,下同),同比增长56公司年内亏损23消息称苹果将推出iPhone硬件订阅服务据彭博社报道,苹果将推出硬件订阅服务,把iPhone和iPad捆绑销售。据称这项服务可能会在明年推出。根据彭博社的说法,每月的订阅费用并非简单地将设备价格除以12或24。此外,当新港股25日跌2。47收报21404。88点新华社香港3月25日电香港恒生指数25日跌541。07点,跌幅2。47,收报21404。88点。全日主板成交1475。69亿港元。国企指数跌244。22点,收报7283。92点,跌交通运输部明确顺风车不以盈利为目的,嘀嗒出行合法性遭质疑2022年3月11日,交通运输部在官方微信公众号发文私人小客车合乘,也称顺风车,是由合乘服务提供者事先发布出行信息,出行线路相同的人选择乘坐合乘服务提供者的小客车分摊部分出行成本或抛弃安全感,走出低谷前段时间听说阿里腾讯字节等大厂都要大规模裁员,后来又有内部人士否认,众说纷纭,难以断定是真是假。不过看看这些大厂半年来股票的走势近期对这些大厂的监管,就算是真的也不意外,况且疫情当商务部推动各地及时制定配套政策纾困服务业封面新闻记者滕晗3月24日,商务部新闻发言人束珏婷在商务部例行新闻发布会上表示,积极引导外卖等互联网平台企业,就下调餐饮业商户服务费标准等制订具体方案,并加快推进实施。今年政府工作