iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java开发SSM框架具有rest风格的SpringMVC
  • 697
分享到

java开发SSM框架具有rest风格的SpringMVC

2024-04-02 19:04:59 697人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录RESTful架构资源表现层(Representation)状态转化(State Transfer)简单小结springMVC对RESTful架构的支持利用ajax实现前后端完全

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接口


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中配置拦截器即可
示例代码来源于:https://www.jb51.net/article/128912.htm

利用ajax实现前后端完全分离

当前web开发流行的单页面系统使用前端路由,利用Ajax或AXOIS完成前端与后端的交互通讯,数据的传递格式一般使用json完成,具有rest编程风格的SpringMVC成为当前JAVA WEB开发主流技术。

以上就是java开发SSM框架具有rest风格的SpringMVC的详细内容,更多关于SpringMVC具有rest风格的SSM框架的资料请关注编程网其它相关文章!

--结束END--

本文标题: java开发SSM框架具有rest风格的SpringMVC

本文链接: https://www.lsjlt.com/news/137919.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java开发SSM框架具有rest风格的SpringMVC
    目录RESTful架构资源表现层(Representation)状态转化(State Transfer)简单小结SpringMVC对RESTful架构的支持利用ajax实现前后端完全...
    99+
    2024-04-02
  • SpringMVC中REST风格的请求有哪些
    这篇文章给大家介绍SpringMVC中REST风格的请求有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、 在HTTP 协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基...
    99+
    2023-05-31
    springmvc rest st
  • Java开发之ssm三大框架整合
    目录1.springmvc2.spring-dao.xml与mybatis-config.xml3.spring-service.xml4.引用1.springmvc 和只有spri...
    99+
    2024-04-02
  • 详解Spring框架之基于Restful风格实现的SpringMVC
    如果说现在你要做一个系统,假设说有一个模块属于公告管理,那么我们可能安排路径的时候会这样安排NewsAction路径: 增加新闻:/pages/back/admin/news/add.action; 新闻列表:/page...
    99+
    2023-05-31
    spring restful st
  • SpringMVC加载控制与Postmand的使用和Rest风格的引入及RestFul开发全面详解
    目录前言一.bean的加载控制二.容器加载1.createServletApplicationContext()方法2.createRootApplicationContext()方...
    99+
    2022-11-13
    SpringMVC加载控制 SpringMVC Postmand SpringMVC Rest风格 SpringMVC RestFul
  • 基于Java SSM框架如何开发图书借阅系统
    这篇文章将为大家详细讲解有关基于Java SSM框架如何开发图书借阅系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、技术框架与开发环境开发环境:IDE:IDEA 2020数据库:MySQL 8.0J...
    99+
    2023-06-15
  • 基于Java SSM框架开发图书借阅系统源代码
    目录一、技术框架与开发环境二、项目源码三、功能介绍一、技术框架与开发环境 开发环境: IDE:IDEA 2020 数据库:MySQL 8.0 JDK 1.8...
    99+
    2024-04-02
  • Java开发者必会的大数据工具和框架有哪些
    这篇文章主要介绍了Java开发者必会的大数据工具和框架有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java开发者必会的大数据工具和框架有哪些文章都会有所收获,下面我们一起来看看吧。MongoDB——最受...
    99+
    2023-06-05
  • 有哪些AJAX技术框架及开发工具
    这篇文章主要讲解了“有哪些AJAX技术框架及开发工具”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些AJAX技术框架及开发工具”吧! ...
    99+
    2024-04-02
  • Java开发之手把手教你搭建企业级工程SSM框架
    目录1.在IDEA界面中创建MavenWeb工程2.在pom.xml中添加如下相关依赖3.web.xml 配置 Spring MVC、Spring4.分别在main目录下创建reso...
    99+
    2024-04-02
  • Java开发者必备10大数据工具和框架
    当今IT开发人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语言和API越来越复杂,我们构建的应用也越来越复杂。根据外媒的一项调查报告,中软卓越专家列出了Java程序员在过去12个月内一直使用的一些工具或框架,或许会对你有...
    99+
    2023-05-31
    java 大数据工具 框架
  • Go语言常用的开发工具和框架
    Go语言作为一种快速、高效的编程语言,受到越来越多开发者的喜爱和使用。在Go语言的开发过程中,选择合适的开发工具和框架可以极大地提高开发效率。本文将介绍一些Go语言常用的开发工具和框架...
    99+
    2024-03-01
    框架 编译器 ide go语言
  • 面向CSS开发人员的实用框架及工具有哪些
    本篇内容介绍了“面向CSS开发人员的实用框架及工具有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!SM...
    99+
    2024-04-02
  • HTML5开发常见的框架有哪些
    本篇内容介绍了“HTML5开发常见的框架有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、Siimp...
    99+
    2024-04-02
  • android前端开发的框架有哪些
    本篇内容主要讲解“android前端开发的框架有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“android前端开发的框架有哪些”吧!   1、Lungo...
    99+
    2024-04-02
  • 小程序的开发框架有哪些
    这篇文章主要介绍了小程序的开发框架有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇小程序的开发框架有哪些文章都会有所收获,下面我们一起来看看吧。小程序开发第三方框架特性官方框架MINA小程序提供的开发框架为...
    99+
    2023-06-26
  • C#有哪些常用的开发框架
    C#是一种由微软公司开发的面向对象的编程语言,广泛应用于Windows桌面应用程序、Web应用程序、游戏开发、移动应用程序等领域。C#拥有丰富的开发框架,可以帮助开发人员快速构建高质量的应用程序。以下是一些常用的C#开发框架:1、.NET ...
    99+
    2023-10-22
    C#开发框架
  • javaweb开发基础教程(Java web开发常用的框架)
    JavaWeb开发基础教程包括以下内容:1. JavaWeb基础知识:HTML、CSS、JavaScript等前端基础知识,Serv...
    99+
    2023-09-22
    javaweb
  • Java Web开发框架Apache Wicket 1.5.3发布有什么变化
    这篇文章主要为大家展示了“Java Web开发框架Apache Wicket 1.5.3发布有什么变化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java Web开发框架Apache Wick...
    99+
    2023-06-17
  • 理想的Java Web开发框架是怎样的
    今天就跟大家聊聊有关理想的Java Web开发框架是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。理想的Java Web开发框架,应该有一个好的IDE开发工具,架构设计清晰简单...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作