@responsebody一般在啥情况下使用,他的好处与坏处?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@responsebody一般在啥情况下使用,他的好处与坏处?相关的知识,希望对你有一定的参考价值。
@responsebody表示该方法的返回结果直接写入HTTP response body中。它的使用情况如下:
1、一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。
2、一般是指定要response 的type。比如json 或 xml 可以直接用jackson或jaxb的包,然后就可以自动返回了,xml中也无需多的配置,就可以使用。
好处是:GET模式下,这里使用了@PathVariable绑定输入参数,非常适合Restful风格。因为隐藏了参数与路径的关系,可以提升网站的安全性,静态化页面,降低恶意攻击风险。
POST模式下,使用@RequestBody绑定请求对象,Spring会帮你进行协议转换,将Json、Xml协议转换成你需要的对象。
@ResponseBody可以标注任何对象,由Srping完成对象——协议的转换。
坏处是:返回之前,若前端编码格式不一致,很容易导致乱码。 参考技术A GET模式下,这里使用了@PathVariable绑定输入参数,非常适合Restful风格。因为隐藏了参数与路径的关系,可以提升网站的安全性,静态化页面,降低恶意攻击风险。
POST模式下,使用@RequestBody绑定请求对象,Spring会帮你进行协议转换,将Json、Xml协议转换成你需要的对象。
@ResponseBody可以标注任何对象,由Srping完成对象——协议的转换。 参考技术B Spring 2.5 版本新增了注解功能, 通过注解,代码编写简化了很多;但熟悉注解的使用,需要一个过程,如果不熟悉Spring 早期的版本,上来就使用注解,有些困难。
这里,我们讨论下: @ResponseBody在什么情况下使用?
先来看一段代码:
@Controller
@RequestMapping("/")
public class HelloController
@RequestMapping(value = "/something", method = RequestMethod.GET)
@ResponseBody
public String helloWorld()
return"Hello World";
运行以上代码,在浏览器地址栏输入: http://localhost:8080/something
运行结果,页面上输出 Hello World
如果去掉 @ResponseBody ,又会怎样呢?
Spring点滴: @ResponseBody在什么情况下使用? - 悠悠 - 悠悠电台ios客户端:几千个国内外电台
结果表明:如果在一个方法上使用了@RequestMapping注解,这时候,方法的返回值通常解析为跳转的路径, 也就是说,要跳转到指定的jsp页面。在这个代码实例中,要跳转到的是 Hello World.jsp 页面。 因为工程中尚未添加这个jsp文件,所以报出了 404 错误 (The requested resource is not available)。
如果添加了 @ResponseBody 这个注解, 则表明该方法的返回值直接写入到 HTTP Response Body 中。 这就是说,如果返回的是JSON, 就得必须添加 @ResponseBody 这个注解
一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。 参考技术C 一般是指定要response 的type 比如json 或 xml
可以直接用jackson或jaxb的包,然后就可以自动返回了,
xml中也无需多的配置,就可以使用了 参考技术D @responsebody表示该方法的返回结果直接写入HTTP response body中
一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。
http://www.cnblogs.com/guodefu909/p/4216327.html
英语:在啥情况下单词后面加s,在啥情况下加es
1、 一般情况下加s;当这个单词以s,x,sh,ch结尾的时候加上es,但stomach的复数形式是stomachs;
2、凡是以s、z、x、ch、sh结尾的词,在该词末尾加上后辍-es构成复数;
3、以辅音字母+y结尾的名词,将y改变为i,再加-es;
4、以-o结尾的名词,如果不是外来词或缩写,就加-es,否则加-s构成复数;
5、以-is结尾的名词,通常将-is改变为-es;
6、以-ix结尾的名词,通常将-ix改变为-ices。
参考技术A 一。时态是一般现在时、主语是第三人称单数的句子,其谓语动词一般情况下加s;当这个单词以o,s,x,sh,ch结尾的时候加上es 。二。名词变为复数:
1。一般情况下加s;当这个单词以s,x,sh,ch结尾的时候加上es 。但是stomach的复数形式是stomachs。如果某个名词是由字母组合ch结尾,而且发音是[????],其复数形式就要加-es。而这个词结尾的字母组合ch发音是[??]而不是[????]其复数形式就加-s。
2。以o结尾的名词
(1)通常加-es:heroes英雄,tomatoes西红柿,potatoes马铃薯,Negroes黑人,dingoes澳洲野犬
(2)但下列名词只加-s:pianos钢琴,photos照片,zoos公园,bamboos竹子,radios收音机,studios摄影棚,cuckoos布谷鸟,solos独唱,tobaccos烟草,kilos公斤,discos迪斯科,cellos大提琴
(3)还有些名词加-es或-s都可以:zero零,buffalo水牛,Eskimo爱斯基摩人,volcano火山
这里有个口诀,不用记太多烦锁的东西:对于名词和动词,如bench teach pass 等,他们都是以[s][∫]或[t∫]结尾的,只要你又慢到快读[s,f,tf]这三个音,就会联想到“四十七”这个数字的读音。你只要记住“四十七”,就能想起[s,∫,t∫]。以“四十七”三个音素结尾的名词变复数,动词单数第三人称都要加“-es"
另外,在"potato,tomato,hero,Negro,go"和“辅音+O”的词后也要加“-es".那该怎么记呢?对此,你可以在“四十七”后边加上一个句号“。”,变成“四十七。”这个句号就会使你想起以“辅音+O”结尾的一部分词,也要加“-es" 参考技术B 你好,这要分以下情况讨论的:
一、绝大多数的可数名词的复数形式,是在该词末尾加上后辍-s。读音变化:结尾是清辅音读[s],结尾是浊辅音或元音读[z]。例:friend→friends; cat→cats; style→styles; sport→sports; piece→pieces
二、凡是以s、z、x、ch、sh结尾的词,在该词末尾加上后辍-es构成复数。读音变化:统一加读[iz]。例:bus→buses; quiz→quizzes; fox→foxes; match→matches; flash→flashes
三、以辅音字母+y结尾的名词,将y改变为i,再加-es。读音变化:加读[z]。例:candy→candies; daisy→daisies; fairy→fairies; lady→ladies; story→stories
四、以-o结尾的名词,如果不是外来词或缩写,就加-es,否则加-s构成复数。读音变化:加读[z]。例:tomato→tomatoes; potato→potatoes; torpedo→torpedoes; bingo→bingoes反例:silo→silos; piano→pianos(外来词); photo→photos; macro→macros(缩写词)
五、以-f或-fe结尾的名词,多为将-f或-fe改变为-ves,但有例外。读音变化:尾音[f]改读[vz]。例:knife→knives; life→lives; leaf→leaves; staff→staves; scarf→scarves反例:roof→roofs
六、以-us结尾的名词(多为外来词),通常将-us改变为-i构成复数。读音变化:尾音[Es]改读[ai],其中[kEs]要改读为[sai],[gEs]要改读为[dVai]。例:fungus→fungi; abacus→abaci; focus→foci; cactus→cacti; cestus→cesti
七、以-is结尾的名词,通常将-is改变为-es。读音变化:尾音[is]改读[i:z]。例:axis→axes; basis→bases; naris→nares; hypothesis→hypotheses; restis→restes
八、以-ix结尾的名词,通常将-ix改变为-ices,但有例外。读音变化:尾音[iks]改读[isi:z]。例:matrix→matrices; directrix→directrices; calix→calices; appendix→appendices反例:affix→affixes
九、以-um结尾的名词,将-um改变为-a。读音变化:去掉鼻尾音[m]。例:forum→fora; stadium→stadia; aquarium→aquaria; datum→data; vacuum→vacua
十、以-a结尾的名词,在该词末尾加上后辍-e。读音变化:尾音[E]改读[i:]。例:larva→larvae; formula→formulae; ala→alae; media→mediae; hydra→hydrae
十一、部分单词的复数形式不变。读音变化:保持原音。例:fish→fish; sheep→sheep; cattle→cattle; deer→deer; salmon→salmon
十二、极少数单词,其复数形式没有任何规律。读音变化:没有规律。例:man→men; woman→women; child→children; person→people; ox→oxen
十三、一些单数词得加en才能变成复数词:例:ox→oxen; child→children; brother→brethren
十四、一些单数词得改头换面一番,才能变成复数词例:analysis→analyses分析; basis→bases基础; datum→data数据; foot→feet; formula→formulae/formulas公式; goose→geese; louse→lice虱子; man→men mouse→mice; medium→media/mediums媒介; memorandum→memoranda/memorandums备忘录; parenthesis→parentheses圆括号; phenomenon→phenomena现象; radius→radii半径 tooth→teeth; woman→women
十五、有些名词是单数、复数不分的例:deer; fish; cannon; sheep; salmon鲑鱼; trout鳟鱼
十六、一些名词虽分单数、复数,但出现次数多的总是单数词例:abscence; clothing; film; help; furniture家具; machinery机械; news; scenery风景; sugar; traffic交通
十七、另一些名词则以复数词出现的机会较多例:bellows风箱; clothes; police; shorts短裤; scissors剪刀; spectacles眼镜; shears大剪刀 trousers长裤; wages工资
十八、compound nouns,这类复数词是以主要的名词来表示例:daughter-in-law→daughters-in-law媳妇; father-in-law→fathers-in-law岳父 man-of-war→men-of-war兵舰; maid-servant→maid-servants step-son→step-sons晚子; son-in-law→sons-in-law
十九、若表达具体数目,要借助数量词例:pair(对,双);suit(套); a pair of glasses; two pairs of trousers
二十、另外还有一些名词,其复数形式有时可表示特别意思,例:goods货物,waters水域,fishes(各种)鱼
二十一、除人民币元、角、分外,美元、英镑、法郎等都有复数形式。例:a dollar, two dollars; a meter, two meters
望采纳,谢谢! 参考技术C 一. 时态是一般现在时、主语是第三人称单数的句子,动词一般情况下加s;当这个单词以o,s,x,sh,ch结尾时加es .
二. 名词变复数:
1. 一般情况下加s;当这个单词以s,x,sh,ch结尾的时候加上es, 但stomach的复数形式是stomachs. 如果名词是由ch结尾, 而且发音是[����], 复数形式就要加 es. 而这个词结尾的字母组合ch发音是[��]而不是[����]其复数形式就加 s.
2. 以o结尾的名词
(1) 通常加 es:例如 英雄heroes
(2) 但一些特殊名词只加 s:例如 钢琴pianos 照片photos
(3) 还有些名词加 es 或 s 都可以:例如 数字零zero 参考技术D 一. 时态是一般现在时、主语是第三人称单数的句子,动词一般情况下加s;当这个单词以o,s,x,sh,ch结尾时加es .
二. 名词变复数:
1. 一般情况下加s;当这个单词以s,x,sh,ch结尾的时候加上es, 但stomach的复数形式是stomachs. 如果名词是由ch结尾, 而且发音是[����], 复数形式就要加 es. 而这个词结尾的字母组合ch发音是[��]而不是[����]其复数形式就加 s.
2. 以o结尾的名词
(1) 通常加 es:例如 英雄heroes
(2) 但一些特殊名词只加 s:例如 钢琴pianos 照片photos
(3) 还有些名词加 es 或 s 都可以:例如 数字零zero
以上是关于@responsebody一般在啥情况下使用,他的好处与坏处?的主要内容,如果未能解决你的问题,请参考以下文章