当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

操纵Struts 2开辟RESTful服务[Java编程]

赞助商链接



  本文“操纵Struts 2开辟RESTful服务[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

REST 简介

REST是英文Representational State Transfer的缩写,这个术语由Roy Thomas Fielding博士在他的论文《Architectural Styles and the Design of Network-based Software Architectures》中提出.从这篇论文的标题可以看出:REST是一种基于网络的软件架构气势.

提醒:国内很多网络资料将REST翻译为“表述性状况转移”,不过笔者对这个翻译不太认同.因为这个专业术语无法传达REST的含义,读者可以先不要理睬REST到底该若何翻译,尽大概先去理解REST是什么?有什么用?然后再来看这个术语的翻译.关于Roy Thomas Fielding博士的原文拜见以下地址:http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm.

REST 架构是针对传统Web利用提出的一种改良,是一种新型的分布式软件计划架构.关于异构系统若何举行整合的问题,目前主流做法都集合在利用 SOAP、WSDL 和 WS-* 标准的Web Services.而REST架构实际上也是办理异构系统整合问题的一种新思绪.

假如开辟者在开辟历程中能保持REST原则,将可以得到一个利用了优良Web架构的系统,从而为系统供应更好的可伸缩性,并降低开辟难度.关于REST架构的主要原则以下:

网络上的全部事物都可被抽象为资源(Resource).

每个资源都有一个唯一的资源标识符(Resource Identifier).

同一资源具有多种表现情势.

利用尺度办法操作资源.

通过缓存来提高性能.

对资源的各种操作不会改变资源标识符.

全部的操作都是无状况的(Stateless).

仅从上面几条原则来看REST架构,其实仍然对比难以理解,下面笔者将从以下二个方面来介绍REST.

资源和标识符

目前的Web利用上包含了大量信息,但这些信息都被躲藏在 HTML、CSS 和 JavaScript 代码中,关于普通浏览者而言,他们进入这个系统时无法知道该系统包含哪些页面;关于一个需求拜候该系统资源的第三方系统而言,一样无法懂得这个系统包含多少功效和信息.

URI 和 URL

与 URI 相关的概念还有 URL,URL 是 Uniform Resource Locator,也就是统一资源定位符的意思.此中 http://www.crazyit.org 就是一个统一资源定位符,URL 是 URI 的子集.简而言之:每个 URL 都是 URI,但不是每个 URI 都是 URL.

从REST架构的角度来看,该系统里包含的全部功效和信息,都可被称为资源(Resource),REST 架构中的资源包含静态页面、JSP 和 Servlet 等,该利用表露在网络上的全部功效和信息都可被称为资源.

除此之外,REST 架构标准了利用资源的命名方法,REST 规定对利用资源利用统一的命名方法:REST 系统中的资源必须统一命名和筹划,REST 系统由利用 URI(Uniform Resource Identifier,即统一资源标识符)命名的资源构成.由于REST对资源利用了基于 URI 的统一命名,因此这些信息就自然地表暴露来了,从而避免 “信息地窖”的不良后果.

关于当今最常见的网络利用来说,资源标识符就是 URI,资源的利用者则按照 URI 来操作利用资源.当 URI 发生改变时,表明客户机所利用的资源发生了改变.

从资源的角度来看,当客户机操作差别的资源时,资源所在的Web页(将Web页当作虚拟的状况机来看)的状况就会发生改变、迁移(Transfer),这就是REST术语中 ST(State Tranfer)的由来了.

客户机为了操作差别状况的资源,则需求发送一些 Representational 的数据,这些数据包含必要的交互数据,以及描写这些数据的元数据.这就是REST术语中 RE(Representational)的由来了.理解了这个层次之后,至于REST若何翻译、或能否真正给它一此中文术语,读者可自行决意.


  以上是“操纵Struts 2开辟RESTful服务[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 在Google App Engine中操纵Struts2框架
  • 操纵Struts 2开辟RESTful服务
  • Java底子:若何操纵Static的变量和办法
  • 搭配操纵Struts+Spring+Hibernate的所长
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .