国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java開發SSM框架具有rest風格的SpringMVC

java開發SSM框架具有rest風格的SpringMVC

2022-02-17 14:43guoyp2126 Java教程

這篇文章主要介紹了java開發中如何使SSM框架具有rest風格的SpringMVC實現解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助

RESTful架構

REST(Resource Representational State Transfer)即“資源表現層狀態轉化”,省略了Resource (資源)。允許客戶端發出以統一資源標識符訪問和操作網絡資源的請求,而與預先定義好的無狀態操作集一致化。

資源

指網絡上的一個具體信息,可以是文本、圖片、視頻等,每種資源對應一個特定的URI,要想操作該資源訪問它的URI就可以,因此URI就成了每一個資源的地址或獨一無二的識別符。

表現層(Representation)

“資源"具體呈現出來的形式,叫做它的"表現層”(Representation),如,文本可以用txt格式表現,也可以用HTML格式、XML格式、JSON格式表現,甚至可以采用二進制格式;圖片可以用JPG格式表現,也可以用PNG格式表現。URI只代表資源的實體,不代表它的形式。嚴格地說,有些網址最后的".html"后綴名是不必要的,因為這個后綴名表示格式,屬于"表現層"范疇,而URI應該只代表"資源"的位置。它的具體表現形式,應該在HTTP請求的頭信息中用Accept和Content-Type字段指定,這兩個字段才是對"表現層"的描述

狀態轉化(State Transfer)

一次客戶端和服務器的一個互動過程,會涉及到數據和狀態的變化。互聯網通信協議HTTP協議,是一個無狀態協議,所有的狀態都保存在服務器端。因此,客戶端想要操作服務器,必須通過某種手段,讓服務器端發生"狀態轉化"(State Transfer),這種轉化是建立在表現層之上的,所以就是"表現層狀態轉化"。由于客戶端用到的技術手段只能是HTTP協議,使用四個操作方式的動詞:GET、POST、PUT、DELETE分別對應四種基本操作。GET用來獲取資源,POST用來新建資源(也可以用于更新資源),PUT用來更新資源,DELETE用來刪除資源

簡單小結

每一個URI代表一種資源;客戶端和服務器之間,傳遞這種資源的某種表現層;客戶端通過四個HTTP動詞,對服務器端資源進行操作,實現"表現層狀態轉化"。符合REST規范的軟件架構就是restful編程風格。
在Restful風格中,用戶請求的url使用同一個url而用請求方式:get,post,delete,put等方式對請求的處理方法進行區分,這樣可以在前后臺分離式的開發中使得前端開發人員不會對請求的資源地址產生混淆和大量的檢查方法名的麻煩,形成一個統一的接口

SpringMVC對RESTful架構的支持

Spring MVC通過注解的方式將對資源的請求映射為一個URL,通過JSON等格式表示和傳輸資源;使用SpringMVC可以完成

  • 需要從URL中獲取一些參數
  • 使得同一個接口的不同請求方法可以完成對應的操作

【示例】:設計一個對課程資源進行操作的RESTful接口

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package com.kkb.controller;
 
import com.kkb.pojo.Course;
import com.kkb.service.CourseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
@RestController
public class RESTCourseController {
    @Autowired
    CourseService service;
 
    //獲取全部課程
    @RequestMapping(value = "/course",method = RequestMethod.GET)
    public List<Course> getCourseList(){
        System.out.println("getCourseList");
        return service.selectCourses();
    
    //根據id獲取某個課程
    @RequestMapping(value = "/course/{id}",method = RequestMethod.GET)
    public Course getCourse(@PathVariable Integer id){
        System.out.println("getCourse");
        System.out.println("參數:"+id);
        return service.selectByID(id);
    }
      //添加新的課程
    @RequestMapping(value = "/course",method = RequestMethod.POST)
    public String addCourse(@RequestBody Course course){
        System.out.println("addCourse");
        System.out.println("參數:"+course);
        service.insertCourse(course);
        return "{\"msg\":\"success\"}";
    }
        //根據id刪除課程
    @RequestMapping(value = "/course/{id}",method = RequestMethod.DELETE)
    public String deleteCourse(@PathVariable Integer id){
        System.out.println("deleteCourse");
        System.out.println("參數:"+id);
        service.deleteCourse(id);
        return "{\"msg\":\"success\"}";
    }
    //根據id更新課程
    @RequestMapping(value = "/course",method = RequestMethod.PUT)
    public String updateCourse(@RequestBody Course course){
        System.out.println("updateCourse");
        System.out.println("參數:"+course);
        service.updateCourse(course);
        return "{\"msg\":\"success\"}";
    }
}

代碼中使用@RestController做注解,相當于@Controller+@ResponseBody兩個注解的結合,返回json數據不需要在方法前面加@ResponseBody注解了,但使用@RestController這個注解,就不能返回jsp,html頁面,視圖解析器無法解析jsp,html頁面。

在前后端完全分離單頁面項目中,路由跳轉一般在前端進行,此時一般異步獲取數據時使用(ajax或axios)獲取,此時一般使用@RestController注解簡單方便。

在RequestMapping,URL均使用http://。。。/course,但method不同分別實現增、刪、改、查。

注意: 在web應用中,表單的提交只能使用post和get,put和delete是無法提交,在在web.xml中配置攔截器即可
示例代碼來源于:http://www.jfrwli.cn/article/140182.html

利用ajax實現前后端完全分離

當前web開發流行的單頁面系統使用前端路由,利用Ajax或AXOIS完成前端與后端的交互通訊,數據的傳遞格式一般使用json完成,具有rest編程風格的SpringMVC成為當前Java web開發主流技術。

以上就是java開發SSM框架具有rest風格的SpringMVC的詳細內容,更多關于SpringMVC具有rest風格的SSM框架的資料請關注服務器之家其它相關文章!

原文鏈接:https://blog.csdn.net/guoyp2126/article/details/118156181

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久成人av | 这里只有精品在线 | 成人免费毛片在线观看 | 亚洲精品福利 | 看av片 | 国产欧美日韩一区 | 亚洲 欧美 另类 综合 偷拍 | 日韩av免费在线观看 | 欧美日韩精品在线观看 | 国产一区二区精品在线 | 欧美激情在线精品一区二区三区 | 亚洲午夜视频 | 字幕网av| 久久综合成人精品亚洲另类欧美 | 日日骚网 | 欧美午夜精品久久久久免费视 | 91社影院在线观看 | 美日韩视频| 日韩电影中文字幕 | 国产精品久久久久久亚洲调教 | 日本中文字幕在线观看 | 国产精品免费网站 | 日本中文字幕在线观看 | 中文字幕91 | 国产精品入口在线观看 | 自拍亚洲欧美 | 成人免费小视频 | 欧美一区日韩一区 | 精品综合久久久 | 激情国产精品 | 亚洲日韩中文字幕一区 | 国产精品18久久久久vr手机版特色 | 99re热精品视频 | 高清hd写真福利在线播放 | 在线观看成人 | 国产偷久久9977 | 久久久久久久久国产 | 亚洲精品一区二区三区在线 | 午夜精品久久久久久 | 日韩欧美国产一区二区三区 | 天天草夜夜 |