57个挑战(pythonjava)lesson53v2
题目不变,在昨天的基础上,把后端服务改成一个web端模式,支持增删改查。
java版本:packagecom。example。todolistv4。controller;importcom。alibaba。fastjson。JSON;importorg。springframework。boot。autoconfigure。EnableAutoConfiguration;importorg。springframework。stereotype。Controller;importorg。springframework。web。bind。annotation。;importjava。util。List;importjava。util。Set;importredis。clients。jedis。Jedis;importjava。util。;importjava。util。regex。Pattern;importorg。apache。log4j。Logger;RestControllerEnableAutoConfigurationpublicclassHomeController{ScannerscnewScanner(System。in);Stringcustomerinput;intinputsignal0;Stringinputdiary;JedisjedisnewJedis(localhost);Longcount;Stringresult;staticLoggerlogLogger。getLogger(HomeController。class。getClass());RequestMapping(valuehome,methodRequestMethod。GET)CrossOriginResponseBodypublicStringhome(){returnHello,springboot;}PostMapping(pathstore)publicvoidstoretoredis(RequestBodyMapString,Stringinfo){inputdiaryinfo。get(info);log。info(Herewestoretheinfointoredis);Stringcountstrjedis。get(count);countLong。parseLong(countstr);countcount1;jedis。set(count,count);jedis。hset(todolist2,count,inputdiary);}RequestMapping(valuedelete,methodRequestMethod。POST)Stringdeletefromredis(RequestBodyMapString,Stringinfo2){log。info(Tellmewhichlineyouwanttodelete);Stringkinfo2。get(k);if(jedis。hexists(todolist2,k)){jedis。hdel(todolist2,k);resultsuccess;}else{log。info(要删除的行不存在);result要删除的行不存在;}returnresult;}RequestMapping(valuedisplay,methodRequestMethod。GET)ResponseBodyCrossOriginpublicStringdisplayfromredis(){log。info(Herewearedisplayinformationfromredis);ListStringlistjedis。hvals(todolist2);SetStringset2jedis。hkeys(todolist2);MapString,StringmapnewHashMapString,String();for(Stringi:set2){Stringvaluejedis。hget(todolist2,i);log。info(i:value);map。put(i,value);}StringjsonStringJSON。toJSONString(map);log。info(jsonString);response。setHeader(AccesscontrolAllowOrigin,);returnjsonString;}}
上面几个点:通过RequestMapping把请求和函数做一个对应。通过CrossOrigin在回包中允许跨域,支持本地从不同端口调试。通过RequestBodyMapString,Stringinfo2这种方式收集客户端的信息。通过returnJSON。toJSONString(map)方式把map转换成客户端读懂的json格式。
效果图:!DOCTYPEhtmlhtmlheadmetacharsetutf8headbodyh2展示日记h2buttontypebuttononclickloadXMLDoc()修改内容buttonbodyhtml
本地读取,可以展示信息
拿到了客户端的信息:
之前的CORS错误已经解决:
上面的问题解决思路:
这篇文章介绍,如何防护客户端的CORS错误,需要在返回头中提供相关信息:
https:docs。aws。amazon。comapigatewaylatestdeveloperguidehowtocors。html
解法:
在springboot返回头中增加如下字段:
看到response里面是包含了这个信息了:
黑洞是时空穿梭门户?法科学家模型打破早期研究来源:参考消息网偏振光下M87超大质量黑洞图像(视觉中国资料图)参考消息网12月11日报道据今日俄罗斯电视台网站11月16日报道,一项新研究表明,包括航天器在内的物体可以……
保持健康的最好方法,都是不用花钱的!保持健康,其实很简单,今天咱就说说那些免费就能做的健康生活方法拿好小本本,准备听讲啦笑是最好的养生补品俗话说:笑一笑,十年少。这句话真不假。大笑有益呼吸……
八道下饭家常菜品,每一道都很受欢迎当家牛肉粉蒸牛肉与煳辣油在一起,会碰撞出怎样的火花?别说,味道还真不赖!熬制煳辣油剩下的煳辣椒也有了用武之地,加上陈醋、香菜拌匀浇在牛肉上,成功地减轻了粉蒸菜的油腻,卖相……
转运多少钱(转运公司运费)一:什么是转运公司?转运公司其实是一个运输中介,许多国外的网站不能直接邮寄到中国,只支持本国境内配送商品,所以需要转运公司帮你把东西转寄回国。二:转运公司操作包裹疑……
历史上的杰西欧文斯在1936年奥运会上赢得了4枚金牌虽然杰西欧文斯在1936年柏林夏季奥运会上赢得了四枚金牌,打破了阿道夫希特勒关于雅利安人运动至上的观念,但他的旅程反映了在20世纪仍然被隔离的美国中,短暂的名望和非裔美国人的挣……
别让手机成为精神鸦片随着科学技术的快速发展,智能手机成为人们日常生活不可或缺的一部分。机不离手,随时随地看手机,成为了一种生活习惯!在公交车上、在电梯里、在餐桌上、在工作会议中,就连走路都低着头。……
高血压就怕缺钾,长期吃降压药,建议平时多补充4种高钾食物高血压是指以体循环动脉血压(收缩压和或舒张压)增高为主要特征(收缩压140毫米汞柱,舒张压90毫米汞柱),可伴有心、脑、肾等器官的功能或器质性损害的临床综合征。高血压是最……
酒店承办白事全套在这小镇才住几个月,就发觉它与其它地方很不同。小镇不大,共有三家酒店承接红白喜事的宴席。红事在我们老家或全国各地都不足为奇,这白事就不同了。白事在老家里都是很忌讳的……
u盘怎么下载音乐(如何将视频放入u盘里)我们的手机中除软件之外,就数照片、音频、视频最占内存了。为了避免手机因为内存不足而卡顿,有些朋友会将手机中的照片、音视频转移到其他地方,比如说云盘之类的;不过也有些朋友认为照片……
像素怎么看(在手机上更改照片像素)现在我们普遍都用手机来网上办事了,好多考试报名和业务办理都可以在手机端进行,我们也习惯使用手机拍照功能拍证件照和扫描文档,但有时候会遇到对证件照分辨率、尺寸大小有特殊要求的情况……
2021年性能最强的3款旗舰机型,现在降价出售,入手好时机随着科技的不断发展,手机市场的产能也在不断地提高,厂家们对于手机的研发技术也越来越成熟。性能强悍的处理器芯片,续航能力过硬的大容量电池与散热系统,完美的显示屏幕与堪比小型摄像机……
怎么治咽炎(白萝卜治咽喉炎最快的一招)慢性咽炎疾病在冬春季节多发,主要是受外部气候和环境的变化,首先需要在食物上做到预防和养护调理。老中医慢性咽炎患者建议多吃这个!俗话说:冬吃萝卜,夏吃姜,不用医生开药……