Restful对于URL的简化

  REST是英文representational state transfer(表象性状态转变)或者表述性状态转移,它是web服务的一种架构风格。使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想。

  Rest架构的主要原则:
      网络上的所有事物都被抽象为资源;
     每个资源都有一个唯一的资源标识符;
     同一个资源具有多种表现形式(xml,json等);
     对资源的各种操作不会改变资源标识符;
     所有的操作都是无状态的;
     符合REST原则的架构方式即可称为RESTful。

  什么是Restful?对应的中文是rest式的;Restful web service是一种常见的rest的应用,是遵守了rest风格的web服务;rest式的web服务是一种ROA(The Resource-Oriented Architecture)(面向资源的架构)。

   为什么会出现Restful?
  在Restful之前的操作:
  http://127.0.0.1/user/query/1 GET  根据用户id查询用户数据
  http://127.0.0.1/user/save POST 新增用户
  http://127.0.0.1/user/update POST 修改用户信息
  http://127.0.0.1/user/delete GET/POST 删除用户信息

  RESTful用法:
  http://127.0.0.1/user/1 GET  根据用户id查询用户数据
  http://127.0.0.1/user  POST 新增用户
  http://127.0.0.1/user  PUT 修改用户信息
  http://127.0.0.1/user  DELETE 删除用户信息

  

  SpringMVC原生态的支持了REST风格的架构设计,所涉及到的注解:

---@RequestMapping
---@PathVariable
---@ResponseBody

   前端访问页面index.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>$Title$</title></head><body><a  href="/test1.html">去Controller的test1</a><a  href="/test2.html">去测试性能监控</a><hr>普通方式<br><a href="/test2/delete.html?delID=AA">删除这个数据A</a><a href="/test2/delete.html?delID=BB">删除这个数据B</a><a href="/test2/delete.html?delID=CC">删除这个数据C</a><a href="/test2/delete.html?delID=DD">删除这个数据D</a><a href="/test2/delete.html?delID=EE">删除这个数据E</a>演示一下Resful<br><a href="/test2/delete/AA/数据A.html">删除这个数据A</a><!-- AA和数据A,是给后台传输的两个数据  --><a href="/test2/delete/BB/数据B.html">删除这个数据B</a><a href="/test2/delete/CC/数据C.html">删除这个数据C</a><a href="/test2/delete/DD/数据D.html">删除这个数据D</a><a href="/test2/delete/EE/数据E.html">删除这个数据E</a></body>/
</html>

   后台控制器TestController2.java:

package com.itszt.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
/*** 测试RestFul*/
@RequestMapping("test2")
@Controller
public class TestController2 {@RequestMapping("delete/{delID}/{delTitle}")public String delete(@PathVariable(name = "delID") String delID, @PathVariable(name = "delTitle") String delTitle) {System.out.println("delID = [" + delID + "], delTitle = [" + delTitle + "]");return "result";}
} 

转载于:https://www.cnblogs.com/lizhangyong/p/8979261.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从文件中读出数据显示在表格中_玩转表格:如何在Word表格中进行数据计算?...

Word文档中的表格也可以进行数据运算的。例如&#xff0c;要对表格中第1季度的数据进行求和计算时&#xff0c;具体操作方法如下。1第1步&#xff1a;将光标置于要输入合计值的单元格中&#xff0c;切换到【表格工具】栏中的【布局】选项卡中&#xff0c;在【数据】组中单击【公…

第八讲:tapestry组件

2019独角兽企业重金招聘Python工程师标准>>> tapestry组件有不少&#xff0c;具体的使用方法可去官网了解&#xff0c;常用的组件会在以后的教程中讲到。这篇文章主要以pagelink为例&#xff0c;简单讲解下组件通常使用的方法&#xff0c;以下可看出同是跳转到Index…

军队文职计算机考试题,2020军队文职计算机知识:计算机考试练习题(6)

【导语】2020军队文职计算机知识&#xff1a;计算机考试练习题(5)已发布&#xff0c;为助力各位考生做好2020年军队文职招聘考试准备&#xff0c;中公部队文职考试网提供了军队文职专业科目和综合辅导等内容&#xff0c;祝大家考试顺利。(欢迎大家CtrlD收藏关注页面)1.下面列出…

获取input相同名字的元素的值

我们在前台的页面定义了许多 具有相同名字的input元素&#xff0c;为了取得对应的值&#xff0c;一种是我们在js中可以这样做&#xff1a; var djs new Array();$("input[namedj]").each(function(){ djs.push($(this).val()); }); 我们通过上面的方法会把具有相同名…

锁存器的工作原理_数字电路学习笔记(十):更多锁存器和触发器

上一章中提到了普通RS锁存器的两大缺点&#xff1a;1. S端口和R端口不能同时有效&#xff0c;但实际应用中不能保证这种情况不出现&#xff0c;此时可能会出错&#xff1b;2. 在计算机中&#xff0c;有许多内存单元协同组成一个寄存器&#xff0c;存储同一个数据。但每一位数据…

计算机88端口,计算机常用端口一览表

1 传输控制协议端口服务多路开关选择器2 compressnet 管理实用程序3 压缩进程5 远程作业登录7 回显(Echo)9 丢弃11 在线用户13 时间15 netstat17 每日引用18 消息发送协议19 字符发生器20 文件传输协议(默认数据口)21 文件传输协议(控制)22 SSH远程登录协议23 telnet 终端仿真协…

高级筛选的以公式结果为条件

群里有朋友问到一个“高级筛选”的问题&#xff1a; 如何筛选出名称列中所有以“A"开头&#xff0c;以“E”到“G”结尾的数据&#xff1f; 这让我想到了高级筛选中“以公式结果作为条件”的方法。很久不用已经生疏了&#xff0c;温习了下&#xff0c;结果如下&#xff1a…

怎么求平均数_EXCEL怎么求企业连续几年业绩的平均增长率

如果你是个秘书&#xff0c;老板哪天问你&#xff0c;我们公司过去三年业绩的平均增长率是多少呢&#xff1f;你该怎么算呢&#xff1f;每年的增长率加起来直接除以3&#xff1f;如下图&#xff1a;报告老板&#xff0c;我们过去三年的平均增长率11%&#xff0c;老板乐开了花。…

linux常用命令:top 命令

top命令是Linux下常用的性能分析工具&#xff0c;能够实时显示系统中各个进程的资源占用状况&#xff0c;类似于Windows的任务管理器。下面详细介绍它的使用方法。top是 一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止…

虚拟化安全防护系统部署在安全服务器上,虚拟化安全防护-安天 智者安天下

获取安天智甲虚拟化安全防护系统产品销售咨询&#xff1a;400-840-9234邮箱&#xff1a;supportantiy.cn安装安天智甲虚拟化安全防护系统管理中心方法一&#xff1a;在VMware vSphere Web Client Service Manager中导入我司提供的管理中心OVA文件。方法二&#xff1a;在VMware …

Ext.form.field.ComboBox组合框

1、Ext.form.field.ComboBox主要配置 Ext.form.field.ComboBox主要配置项 配置项类型说明allQueryString发往服务器用来查询全部信息的查询字符串&#xff0c;默认为空autoSelectBoolean是否自动选择第一个列表值&#xff0c;默认为truedefaultListConfigObject listConfig配置…

34-FTP并发

1 2 3 4 5转载于:https://www.cnblogs.com/venicid/p/8982759.html

头条限流是什么原因_今日头条是否限流 头条号限流是什么状态

头条号突然被限流了是什么原因&#xff1f;我才不管呢&#xff01;有些人会对他们写的东西感兴趣。坚持不懈地努力。意思是你不能靠自己发财。这意味着你不能靠自己发财&#xff01;(不管怎样&#xff0c;我不知道我是不是受了限制)只要快乐&#xff01;如果你不高兴&#xff0…

联想服务器开启虚拟化,联想电脑虚拟化开启方法

适用范围:联想电脑操作步骤:1、Intel平台笔记本&#xff1a;进入BIOS&#xff0c;选择configuration的选项&#xff0c;找到Intel Virtual Technology&#xff0c;改成Enable的开启状态。2、AMD平台的笔记本&#xff1a;进入BIOS&#xff0c;选择configuration的选项&#xf…

26个提升java性能需要注意的地方

最近的机器内存又爆满了&#xff0c;除了新增机器内存外&#xff0c;还应该好好review一下我们的代码&#xff0c;有很多代码编写过于随意化&#xff0c;这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些…

treeview调用数据库成树

目的&#xff1a;将数据库中的数据与树控件绑定背景&#xff1a;我们想在树控件中显示销售客户的层级列表&#xff0c;这个销售客户的分层是这样的&#xff0c;先按“大区”&#xff0c;再按“省份”&#xff0c;最后到“客户”我们在数据库中建立了三个表&#xff0c;字段如下…

绘制半圆_超细致:Ai绘制萌蠢可爱卡通形象

来源&#xff1a;Envato艺云台原文作者&#xff1a;Amanda Tepie 翻译&#xff1a;Yimin Zhou完成效果在这篇教程中&#xff0c;我将展示如何在Adobe Illustrator中使用基本图形工具、路径查找器、宽度和描边工具创建一个可爱的呆萌兽。完了你还可以利用这些技巧绘制其他卡通…

服务器系统装软路由,服务器系统设置软路由

服务器系统设置软路由 内容精选换一换无法正常使用Cloud-init。弹性云服务器获取Metadata的流程如图1所示&#xff1a;获取Metadata流程图您可以按照以下原因进行排查&#xff0c;如果解决完某个可能原因仍未解决问题&#xff0c;请继续排查其他可能原因。检查弹性云服务器是否…

Scrapy-redis实现分布式爬取的过程与原理

Scrapy是一个比较好用的Python爬虫框架&#xff0c;你只需要编写几个组件就可以实现网页数据的爬取。但是当我们要爬取的页面非常多的时候&#xff0c;单个主机的处理能力就不能满足我们的需求了&#xff08;无论是处理速度还是网络请求的并发数&#xff09;&#xff0c;这时候…

0419 一些不错的UI作品,以后陆续更新

一些不错的UI作品&#xff0c;以后陆续更新 http://www.zcool.com.cn/u/35500/zcooler_art.xhtml 其它的部件质感&#xff0c;无非也是渐变&#xff0c;描边&#xff0c;内发光&#xff0c;内阴影等效果的组合&#xff0c;用到的技法也很基础&#xff0c;图层样式。个人觉得&am…