国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

springmvc RESTful支持

2019-11-11 06:53:21
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
什么是RESTful說(shuō)道RESTful,不得不先說(shuō)說(shuō),目前的互聯(lián)網(wǎng)開(kāi)發(fā),越來(lái)越多的人開(kāi)始意識(shí)到,網(wǎng)站即軟件,而且是一種新型的軟件。這種"互聯(lián)網(wǎng)軟件"采用客戶端/服務(wù)器模式,建立在分布式體系上,通過(guò)互聯(lián)網(wǎng)通信,具有高延時(shí)(high latency)、高并發(fā)等特點(diǎn)。網(wǎng)站開(kāi)發(fā),完全可以采用軟件開(kāi)發(fā)的模式。但是傳統(tǒng)上,軟件和網(wǎng)絡(luò)是兩個(gè)不同的領(lǐng)域,很少有交集;軟件開(kāi)發(fā)主要針對(duì)單機(jī)環(huán)境,網(wǎng)絡(luò)則主要研究系統(tǒng)之間的通信。互聯(lián)網(wǎng)的興起,使得這兩個(gè)領(lǐng)域開(kāi)始融合,現(xiàn)在我們必須考慮,如何開(kāi)發(fā)在互聯(lián)網(wǎng)環(huán)境中使用的軟件。定義REST是“呈現(xiàn)狀態(tài)轉(zhuǎn)移(REPResentational State Transfer)”的縮寫(xiě)。或許可以這樣來(lái)定義它:一種API的架構(gòu)風(fēng)格,在客戶端和服務(wù)端之間通過(guò)呈現(xiàn)狀態(tài)的轉(zhuǎn)移來(lái)驅(qū)動(dòng)應(yīng)用狀態(tài)的演進(jìn)。RESTful是目前最流行的一種互聯(lián)網(wǎng)軟件架構(gòu)。它結(jié)構(gòu)清晰、符合標(biāo)準(zhǔn)、易于理解、擴(kuò)展方便,所以正得到越來(lái)越多網(wǎng)站的采用。RESTful其實(shí)是一個(gè)開(kāi)發(fā)理念,是對(duì)http的很好的詮釋。RESTful架構(gòu)  (1)每一個(gè)URI代表一種資源;  (2)客戶端和服務(wù)器之間,傳遞這種資源的某種表現(xiàn)層;  (3)客戶端通過(guò)四個(gè)HTTP動(dòng)詞,對(duì)服務(wù)器端資源進(jìn)行操作,實(shí)現(xiàn)"表現(xiàn)層狀態(tài)轉(zhuǎn)化"。應(yīng)用點(diǎn)1、對(duì)url進(jìn)行規(guī)范,寫(xiě)RESTful格式的url(常用)非REST的url:http://.../queryUser.action?id=001&type=t01REST的url:http://.../queryUser/001/t01特點(diǎn):url簡(jiǎn)潔,將參數(shù)通過(guò)url傳到服務(wù)端2、對(duì)http的contentType進(jìn)行規(guī)范(常用)請(qǐng)求時(shí)指定contenType,要json數(shù)據(jù),設(shè)置成json格式的type。3、http的方法規(guī)范(不常用,繁瑣)不管是刪除、添加、更新...使用url是一致的,如果進(jìn)行刪除,需要設(shè)置http的方法為delete、add...后臺(tái)Controller方法:判斷http方法,如果是delete執(zhí)行刪除,如果是post執(zhí)行添加。REST例子需求:查詢用戶信息,返回json數(shù)據(jù)添加DispatcherServlet的rest配置 web.xml:
<servlet>       <servlet-name>springmvc-servlet-rest</servlet-name>       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>       <init-param>           <param-name>contextConfigLocation</param-name>           <param-value>classpath:spring/springmvc.xml</param-value>       </init-param>    </servlet>    <servlet-mapping>       <servlet-name>springmvc-servlet-rest</servlet-name>       <url-pattern>/</url-pattern>    </servlet-mapping>多個(gè)servlet可以共存URL模板模式映射@RequestMapping(value="/ viewItems/{id}"):{×××}占位符,請(qǐng)求的URL可以是“/viewItems/1”或“/viewItems/2”,通過(guò)在方法中使用@PathVariable獲取{×××}中的×××變量。@PathVariable用于將請(qǐng)求URL中的模板變量映射到功能處理方法的參數(shù)上。
@RequestMapping("/viewUsers/{id}") public @ResponseBody viewUsers(@PathVariable("id") String id,Model model) throws Exception{	//方法中使用@PathVariable獲取id的值,使用model傳回頁(yè)面	//調(diào)用 service查詢用戶信息	UserCustom userCustom = userService.findUserById(id);	return userCustom;}注意:如果RequestMapping中表示為"/viewUsers/{id}",id和形參名稱一致,@PathVariable不用指定名稱。靜態(tài)資源訪問(wèn)<mvc:resources>如果在DispatcherServlet中設(shè)置url-pattern為 /則必須對(duì)靜態(tài)資源進(jìn)行訪問(wèn)處理。spring mvc 的<mvc:resources mapping="" location="">實(shí)現(xiàn)對(duì)靜態(tài)資源進(jìn)行映射訪問(wèn)。如下是對(duì)js、CSS、img等文件訪問(wèn)配置:
<!-- 靜態(tài)資源解析 --><mvc:resources location="/js/" mapping="/js/**" /><mvc:resources location="/css/" mapping="/css/**" /><mvc:resources location="/img/" mapping="/img/**" />
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 顺昌县| 乌恰县| 沾益县| 保康县| 尉犁县| 澄江县| 临沂市| 囊谦县| 锦州市| 云和县| 旌德县| 延川县| 兴和县| 敦化市| 商城县| 繁昌县| 三原县| 东明县| 平定县| 永靖县| 莱西市| 汶上县| 舒兰市| 独山县| 阳高县| 井陉县| 诸暨市| 广饶县| 浦城县| 晋中市| 吉木乃县| 丽水市| 隆回县| 南木林县| 娄烦县| 昌乐县| 凤翔县| 运城市| 镇巴县| 鄂托克旗| 平利县|