游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

重定向和转发

  SpringMVC重定向和转发重定向和转发
  重定向经过客户端,而转发没有,因此相对来说转发更快速。但有时采用重定向更方便,如:重定向到外部网站;避免用户重新加载页面时再次调用同样的动作。returnredirect:viewsaveUser。getId();
  这里使用重定向来防止当前用户重新加载页面时saveUser被二次调用。
  但是使用重定向无法轻松地给目标页面传值,因此,在Spring3。1后提供了Flash属性,详情见后文。常用处理方式
  Controller视图方法间的跳转,无非就是带参跳转和不带参跳转。常用的方法有通过String映射RequestMapping实现重定向,或者通过ModelAndView对象,又或者是RedirectView对象,下面逐一说明。String重定向
  是return映射到另一个Controller方法的字符串。如果有请求参数,就拼接在RequestMapping映射的字符串后面。返回字符串映射的方式RequestMapping(hello)publicStringhello(HttpServletRequestreq,HttpServletResponseresp){doSomething();returnredirect:bye;returnredirect:bye?usernamesudoz;}ModelAndView重定向
  另一种方法是通过返回ModelAndView对象来实现跳转。类似的,如果有请求参数,也可以通过类似GET参数拼接的方式:返回ModelAndView对象RequestMapping(hello)publicModelAndViewhello(HttpServletRequestreq,HttpServletResponseresp){doSomething();returnnewModelAndView(redirect:bye);returnnewModelAndView(redirect:bye?usernamesudoz);}RedirectView重定向
  还有一种方法是通过返回RedirectView对象实现跳转,该方法和上面的不同之处在于,RedirectView对象不需要设置redirect前缀:返回RedirectView对象RequestMapping(hello)publicRedirectViewhello(){doSomething();returnnewRedirectView(bye);returnnewRedirectView(bye?usernamesudoz);}
  带参跳转
  Model在重定向时会丢失携带的消息
  在做方法跳转时,如果要把参数带给下一个方法,像上面代码里通过拼接URL参数的方法有时候并不实用。因为参数不一定都是是字符串,而且浏览器对URL的长度是有限制的。RedirectAttributes对象可以用来保存请求重定向时的参数。利用RedirectAttributes改写上面的代码:RequestMapping()publicRedirectViewhello(RedirectAttributesattrs){attrs。addAttribute(message,hello);attrs。addFlashAttribute(username,world);returnnewRedirectView(hello);}RequestMapping(hello)MapString,Stringhello(ModelAttribute(message)Stringmeaasge,ModelAttribute(username)Stringusername){MapString,StringmapnewHashMap();map。put(message,message);map。put(username,username);returnmap;}
  上面的代码中,调用addAttribute()和addFlashAttribute()方法往RedirectAttributes对象中插入了两个值,如果看源码,就能知道,RedirectAttributes接口的实现类RedirectAttributesModelMap继承了ModelMap,本质上就是HashMap的子类,因此可以用来存储KeyValue对。这两个方法都很常用,使用上也必然存在不同:addAttribute()方法会把KeyValue作为请求参数添加的URL的后面;addFlashAttribute()方法会把KeyValue暂存在session中,在跳转到目标方法后,即完成任务,会从session中删掉;
  用curl命令来测试:curlihttp:localhost:8080HTTP1。1302SetCookie:JSESSIONIDD1CC5E15FA8EF9474C4CED7D4F660E66;path;HttpOnlyLocation:http:localhost:8080hello;jsessionidD1CC5E15FA8EF9474C4CED7D4F660E66?usernamesudozContentLanguage:enUSContentLength:0Date:Thu,16Feb201712:33:46GMT
  可以看到,通过addAttribute()添加的键值对变成了URL后面的参数,addFlashAttribute()方法添加的键值对则没有出现在URL上,而是存储在了session中。跳转的目标方法通过ModelAttribute(key)注解指定接收的参数。
  redirect和forward的区别
  上面列出的3种方法,其实都是SpringMVC在处理请求时的重定向,即redirect跳转。另一种分发请求的方式是转发,即forward。二者的区别从HTTP的规范中就明确:redirect的HTTP返回码是302,且跳转的新URL会存储在HTTPResponseHeaders的Location字段中。客户端在接收到Response后,会发起另一次请求,这次请求的URL就是重定向的URL;forward的转发过程只发生在服务端;Servlet容器会直接把源请求打向目标URL,而不会经由客户端发起请求;因此客户端接收到的响应是来自转发后的目标方法,但是浏览器呈现的URL却并不会改变,且forward不能将参数转发出去。

讲个笑话,微信是个小而美的软件在2021年1月19日,微信举行了一年一度的微信公开课Pro。和往年不同的是,今年是微信走过的第十个年头。在十岁生日到来之际,微信交出的答卷是:每天有10。9亿用户打开微信,3……新能源汽车越卖越亏,由硬转软是出路吗?文二哥头新能源汽车这把火已经是越烧越旺了,以9月的销量为例,蔚来,小鹏均是突破10000大关,乘联会的数据也能印证新能源汽车市场的欣欣向荣,九月新能源汽车销量达到33。4……水不试不知深浅水不试,不知深浅;人不交,不知好坏。时间是个好东西,验证了人心,见证了人性。说的好不如做得好,我总是担心身边会失去谁,可我却忘了问,又……浅谈什么是平台化造车,汽车平台与底盘有什么关系?近些年来,平台化造车已经成为新的趋势;而很多朋友对于这个平台化概念表示很模糊,很陌生,那么这个平台化到底指的是什么?它是否是我们常规认知中一个实质存在的物体,设备亦或者是容器?……选错WiFi6路由太糟心!这几点要提前看今年路由器最火的话题是什么?就是换WiFi6路由器。相比较传统的WiFi5路由器,WiFi6路由器拥有着更快的网速,更低的延迟,同时负载能力也更强,覆盖能力也更出色一些,越来越……华为P20助力王者荣耀城市赛手游馆海选晋级赛上海站对于喜欢王者荣耀的玩家来说,王者荣耀城市赛可谓是众多玩家的狂欢,为不同城市乃至国家的召唤师们提供一个同台竞技,追逐王者梦的舞台。8月18日8月19日,王者荣耀城市赛手游馆海选晋……Mac上怎么创建自签名证书?Mac创建自签名证书图文教程Mac上怎么创建自签名证书?您可以使用钥匙串访问中的证书助理创建自签名证书。自签名证书不提供由证书颁发机构所签名的证书中的各种保证,但如果证书的签名人可被信任,则此类证书会很有……不完美?不,有点完美魅族18X体验分享本文作者为体验师阿凯,首发于糖纸众测。前言也许我这个标题有点浮夸,有点不符合广告法。但是我想说,也许每个人对完美的定义不同,但是在煤油的心里,魅族的产品一直都是完美的。就……第四届人工智能挑战赛报名启动!等你来Battle!原子同学炎炎夏日已经来临如何get迎夏的正确方式?多重刺激、精彩纷呈的挑战赛一群蓄势待发的少年一场科技化、数字化的科创盛宴第四届人工智能挑战赛即将开启……惊艳!500架无人机为莱克点亮苏州城正当大家在欢度假期,研究该去哪玩的的时候,莱克在苏州悄悄搞了个大事。五一期间,莱克用五百架无人机上演了大国品牌莱克之夜主题光影秀,用科技之光点亮苏城夜空!现场相当壮观,美不胜收……康普观点展望办公场所的未来新貌康普企业网络基础设施北亚区副总裁陈岚一年前,许多员工的办公地点从办公室转移至家中的临时办公区。尽管我们已逐渐适应了这样的新常态,领导层也不禁开始思考:当员工都返回办公室时……物联网通信规模很重要窄带物联网(NBIoT)是有望扩大低功耗、连接设备和传感器市场的几种技术之一。此类设备提供了新的应用机会。它们与使用寿命长、数据有效载荷小和通信不频繁有关。随着与5G万物互联相……
斗罗大陆电视剧什么时候上映2020在哪可以看?关于斗罗大陆电视剧的海报已经曝光了,斗罗迷们是不是很期待开播呢?那么,斗罗大陆电视剧什么时候上映2020?斗罗大陆电视剧在哪可以看呢?下面给家来说一说。斗罗大陆电视剧什么……白色月光孙雯雯是小三吗孙雯雯结局及扮演者是谁介绍近日,电视剧《白色月光》正在热播当中,剧中大家最关注的地方就是小三是谁?其中的孙雯雯是小三吗?孙雯雯在剧中的结局是什么?孙雯雯扮演者是谁呢?一起来看一下具体的情况。1白色月光孙……白色月光杨雁是第三者吗原来剧中最有手段的就是她近日,电视剧《白色月光》正在热播当中,剧中杨雁看起来是女主张一的好朋友,但是其实杨雁才是最大的第三者,原来剧中最有手段的人就是她,一起来看一下具体的情况。1白色月光杨雁是第三者……亚马逊德国站批量被封是什么原因,怎么解决?丝路互联有话说3月11日晚间,手机里的消息闪个不同,几乎所有群里都在讨论亚马逊德国站被封的事情。3月12日上午,从丝路互联运营部了解到的消息是:从12日凌晨开始,就陆续有店铺解封了。至……天龙八部手游向上之道打破武侠次元壁蜕变中的《天龙八部手游》正在触及武侠的更大边界。12月26日,以万里天龙风起苍山为主题的2020年《天龙八部手游》年度盛典在云南大理4A级旅游景点垒翠园正式拉开帷幕。……电视剧猎狐原著小说故事原型是什么电视剧猎狐讲述了什么故事近日,在继王凯的《清平乐》播出以来,王凯的又一部热播大剧开播了,在电视剧《猎狐》当中的表现也是备受关注。那么,在电视剧《猎狐》当中,原著小说故事原型是什么?电视剧猎狐讲述了什么……我是余欢水梁安妮的扮演者是谁扮演者高叶年龄及背景遭扒近日,电视剧《我是余欢水》的播出已经接近了尾声,在这部剧当中梁安妮这个角色深受观众的喜爱,那么,在《我是余欢水》当中梁安妮的扮演者是谁呢?扮演者高叶年龄及背景遭扒,一起来看一下……我是余欢水人物关系图完整版介绍主要人物关系及结局介绍近段时间以来,电视剧《我是余欢水》的热度非常高,剧中各人物的关系是大家都想要弄明白的,今天,小编就来给大家介绍一下《我是余欢水》人物关系图完整版,以及主要人物关系及结局介绍,一……我是余欢水是根据什么小说改编的我是余欢水是喜剧还是悲剧近日,电视剧《我是余欢水》正在热播当中,剧中前几集就将这部剧直接带进了高潮的部分,不少喜欢这部剧的网友十分好奇,这部剧是根据什么小说改编的?《我是余欢水》是喜剧还是悲剧?一起来……前任3再见前任的经典台词这次真的要说再见了前任3:再见前任的经典台词:这次真的要说再见了一个男人,总会为了一个女人,而去奋斗。好闺蜜一起来例假,好兄弟一起成单身。男人就是悲催,上班当员工,下班当老公。……当爱情遇上科学家什么时候上映,当爱情遇上科学家演员表当爱情遇上科学家说出来很多人不清楚,可当爱情遇上科学家电视剧是什么时候上映,很多网友就想去了解一下有关的故事,看当爱情遇上科学家公布海报和预告片,把剧情精彩给呈现,但有的网友就……战毒汪紫琪是谁演的周秀娜剧中人设及结局介绍近日,电视剧《战毒》已经和大家见面了,剧中的很多演员都是大家相对比较熟悉的演员,那么,在这部剧中汪紫琪是谁演的呢?一起来看一下汪紫琪的扮演者周秀娜剧中的人设及结局介绍。1战毒汪……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网