restful架构

概念:REST指的是一组架构约束条件和原则,如果一个架构符合REST的约束条件和原则,就称之为RESTful架构。

restful不是一个专门的技术,他是一个规范。规范就是写写代码给类命名,给属性命名,创建包结构 等等都最好按一定的规则来进行。这样的话以后代码看起来更规范,更容易理解。好比以前写增删改查请求的路径。

优点:

可以方便的实现程序的前后台代码的分离 
resutful要求每个请求都是无状态的
可以使请求的路径更规范
使用restful风格实现部门的增删改查
第一步,拦截所有的请求,而且请求后面不能有后缀
第二步,修改请求的方式,把需要传递的参数放到路径中

1.添加用户的请求

在控制器中声明方法跳转到edit界面: 

创建edit.jsp

 

在控制器中声明保存的方法: 

2.编辑功能,需要在list.jsp中创建列按钮:

后台要声明一个编辑的时候跳转到修改界面的方法: 

在edit.jsp中,把要修改的用户的信息显示出来。
如果用户传部门编号了,肯定是修改,修改要发PUT请求,form标签是不能发送put请求的。spring 针对这个问题为我们一个解决访问,我们只需要在web.xml中配置一个转换请求方式的过滤器
 

我们还需要在jsp界面要保证两件事:
第一,form的请求必须是POST
第二,form中必须带一个_method的参数,代表要把POST请求转换为什么请求。 
针对编辑,我们可以这样修改edit.jsp:

3.删除,我们可以添加删除的超链接: 

声明一个form,用来提交delete请求:

需要给删除超链接增加单击事件,而且还要阻止原来的超链接事件:

在控制器中声明删除的方法: 

restful 架构风格的curd(增删改查)的更多相关文章

  1. FuelPHP 系列(六) ------ CURD 增删改查

    一.create $article = new Model_Article(); // 或 $article = Model_Article::forge(); // 保存数据,返回新增数据 id $ ...

  2. MySQL的CURD 增删改查

    添加 insert 语法: 单条:insert into 表名('字段1', '字段2', ...) values('值1', '值2', ...) 多条:insert into 表名('字段1', ...

  3. ThinkPHP - CURD增删改查 - 实例 - 搜索功能

    模板代码: /** * 搜索数据 * @return 无返回值 */ public function search(){ //判断并接收参数 //姓名 if ( isset($_POST['usern ...

  4. ThinkPHP - CURD增删改查 - 实例

    目录结构:

  5. ThinkPHP - CURD增删改查操作

    public function show(){ //使用model模型 //1.可以使用 $user = new Model('User'); //2.可以使用 $user = M('User'); ...

  6. nodejs+express+mysql实现restful风格的增删改查示例

    首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...

  7. 进入全屏 nodejs+express+mysql实现restful风格的增删改查示例

    首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...

  8. Restful风格wcf调用2——增删改查

    写在前面 上篇文章介绍如何将wcf项目,修改成restful风格的接口,并在上面提供了查询的功能,上篇文章中也感谢园友在评论中的提的建议,自己也思考了下,确实是那个道理.在urltemplate中,定 ...

  9. Rest架构下的增删改查

    首先还是要连接一下什么是Rest, REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP, ...

随机推荐

  1. 解决从服务器获取的数组是 __NSCFConstantString以及""没有空格字符串的问题

    AJ分享,必须精品 问题 项目遇到了个bug,从服务器获取到的数据是这样的 { status = 1, data = [ { uid = 161, type = 2, id = 79, addtime ...

  2. 让ul li水平居中(任意删除li也能水平居中)

    HTML代码: <div class="box"> <ul class="button-ct"> <li></li&g ...

  3. 怎样才能拥有营销号生成器功能?python帮你实现

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...

  4. python在办公时能给我们带来什么?

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:谦睿科技教育 PS:如有需要Python学习资料的小伙伴可以加点击下方 ...

  5. 如何将dotnet core webapi发布到docker中…

    如何将dotnet core webapi发布到docker中 今天想起来撸一下docker,中途还是遇到些问题,但是这些问题都是由于路径什么的导致不正确,在这儿还是记录下操作过程,今天是基于wind ...

  6. shift count is too large

    STM8S是8 bit单片机在STM8S中 unsigned long是32位, unsigned short和unsigned int都是16位,unsigned char是8位. 以以下代码编译时 ...

  7. JS面向对象编程之封装

    来源:https://segmentfault.com/a/1190000015843072 我们所熟知的面向对象语言如 C++.Java 都有类的的概念,类是实例的类型模板,比如Student表示学 ...

  8. 安装宝塔检测到系统已存在Apache,请使用纯净安装

    执行命令 停止服务 net stop Apache2.4 删除服务 sc delete apache

  9. Winsock select server 与 client 示例代码

    参考 https://www.winsocketdotnetworkprogramming.com/winsock2programming/winsock2advancediomethod5.html ...

  10. 利用jsDeliver+github实现免费CDN

    title: 利用jsDeliver+github实现免费CDN jsDeliver jsDelivr 是一个免费开源的 CDN 解决方案,用于帮助开发者和站长.包含 JavaScript 库.jQu ...