`

支持Java的rest框架

    博客分类:
  • java
 
阅读更多
目前宣称支持REST的Java框架包括以下这些:
Restlet(http://www.restlet.org/)
Cetia4(https://cetia4.dev.java.net/)
Apache Axis2(http://http://ws.apache.org/axis2/)
sqlREST(http://sqlrest.sourceforge.net/)
REST-art(http://rest-art.sourceforge.net/)

以下对这些框架进行了较为全面的分析。

Restlet,最新版本1.0.1
特点:完全抛弃了Servlet API,作为替代,自己实现了一套API。能够支持复杂的REST架构设计。
缺点:
1. 虽然也可以运行于Web容器中,但是难以利用Servlet和JSP等资源。因为需要另外学习一套API和概念,学习成本比较高。
2. 完全不支持服务器端的HTTP Session,强制完全基于无状态服务器模型来做开发。对于基于浏览器的应用来说,开发难度较高。
3. 自身没有包括与Spring的集成,可以使用第三方代码与Spring集成,集成难度较大。
4. 文档不是很丰富,大多比较简短,很多时候需要自己去读代码,或者到其wiki上去查找。
5. 没有内建的国际化支持。
优点:
1. 有内建的HTTP认证机制,不需要另外开发安全机制。
2. 灵活性较高,支持更多的REST概念,支持透明的内容协商,适合于开发更加强大的REST组件(不限于服务器端应用)。
3. 零配置文件,全部配置通过代码来完成。

相关资源:
功能列表:http://www.restlet.org/about/features
简介:http://www.restlet.org/about/introduction
教程:http://www.restlet.org/documentation/1.0/tutorial
FAQ:http://www.restlet.org/about/faq

Cetia4,最新版本1.0
特点:基于Servlet API开发,可以运行于所有的Web容器中。
优点:
1. 可以充分利用Servlet API和JSP等资源,需要额外学习的概念较少,学习成本较低。
2. 对于传统的Web应用,可以使用服务器端HTTP Session;对于Web服务类应用,不使用HTTP Session,基于无状态服务器模型做开发。
3. 自身包括了对于Web MVC的支持,熟悉Web MVC框架的开发者很容易理解。还内建了参数映射、参数验证等等传统Web MVC框架所支持的功能。
4. 内建了自己特有的导航对象栈的概念,对于支持传统的Web应用的开发(基于浏览器的导航)非常有帮助。
5. 提供了JSP标签库,对于传统的基于HTML表单的Web开发非常有帮助。
6. 支持与SiteMesh相配合,由SiteMesh来支持页面布局的重用。
7. 内建有与Spring的集成,集成起来非常容易。
8. 配置文件完全基于标准的web.xml,不需要额外的配置文件。大量使用默认配置,一般情况下足以满足常见的需求。
9. 拥有很好的文档。
10. 有内建的国际化支持。
缺点:
1. 没有内建的HTTP认证机制,需要自行开发安全机制。
2. 对于内容协商的支持比较弱,仅支持HTML和XML格式的表现。需要加以扩展才能支持其他格式的表现。

相关资源:
教程:https://cetia4.dev.java.net/files/documents/5545/38989/cetia4_tutorial.pdf

Axis2,最新版本1.2
特点:同时支持SOAP和REST风格的Web Service。
缺点:
1. 仅仅支持GET与POST方法。
2. 仅仅是以REST风格暴露出Web服务,数据格式仍然是包含SOAP封装的XML,不能使用更加有效的格式。
3. 只支持同步的调用方式。
4. 仅仅提供了以SOAP方式暴露Web服务的最小化的支持,不支持全面的REST架构设计。

相关资源:
简介:http://ws.apache.org/axis2/1_2/rest-ws.html

sqlREST,最新版本0.3.1
特点:
1. 为任何可以通过JDBC访问的数据库提供Web服务访问接口,自动将REST风格的HTTP请求转换为相应的数据库SQL语句,并将数据库中的记录编码为XML格式传给客户端。是REST风格的HTTP请求到数据库中的数据的直接映射。
2. 基于Servlet API开发。
缺点:
1. 因为是REST风格的HTTP请求到SQL语句的直接映射,因此强制使用以SQL和关系数据库为中心的数据建模设计方法,不支持面向对象的设计。灵活性很低,难以实现较为复杂的业务逻辑。
2. 因为资源的定义仅限于数据库的表,难以实现更高层次的抽象,必然会导致非常细粒度的API。应用的性能和可伸缩性都难以保证。

相关资源:
教程:http://sqlrest.sourceforge.net/5-minutes-guide.htm

REST-art,最新版本0.2
特点:一个旨在替换复杂的SOAP框架的REST框架,用来作为替代SOAP方便地发布Web服务的工具。不是基于Servlet API开发。
缺点:
1. 目前尚处于刚刚起步的阶段,功能非常少。
2. 不是基于Servlet API,带来了额外的学习成本。

相关资源:
分享到:
评论

相关推荐

    java REST接口测试 测试小例子

    在Java中,我们通常使用JUnit框架进行单元测试,不过这个例子可能没有依赖JUnit,而是直接编写了简单的测试逻辑。测试代码可能包含了对REST接口的GET、POST、PUT、DELETE等常见HTTP方法的调用,以验证接口的功能是否...

    Putting_Java_to_REST.rar_java rest_rest

    Java作为广泛应用的编程语言,拥有丰富的库和框架支持RESTful服务的开发。本资料主要围绕如何利用Java技术栈来创建REST服务进行讲解。 首先,我们需要理解REST的基本原则。REST是一种设计风格,它定义了客户端和...

    REST框架简单实现

    在给定的描述中,提到的是使用简单的Servlet实现REST框架。Servlet是Java中用于处理HTTP请求的组件,它可以被用来构建动态Web应用程序。下面我们将深入探讨如何利用Servlet实现RESTful API。 首先,了解REST的基本...

    restx:RESTX,轻量级的Java REST框架

    RESTX-轻量级的Java REST框架 RESTX是一个完整的轻量级破坏堆栈,其中包括类似Swagger的ui并将REST规范测试视为文档。 它与Play等现代框架具有相似之处。 像热编译和非常富有成效的经验,但专注于REST和纯Java。 它...

    jxrest:简单、轻量级的 Java REST 框架

    概述jxrest 是一个简单、轻量级的框架,可实现基于 JSON 的 REST API 的真正快速开发。 让我们看看编写 REST API 有多么简单: import ...

    JAVA PLAY框架入门学习手册

    Java PLAY框架支持RESTful风格的HTTP路由,以下是HTTP路由的详细信息: * 关于REST:REST(Representational State of Resource)是一种软件架构风格,基于HTTP协议,提供了对资源的CRUD(Create、Read、Update、...

    java框架核心技术笔记

    Java框架如Spring提供了一系列工具支持RESTful服务的开发,包括HTTP方法、资源URI和JSON数据交换格式。 7. 数据库事务管理:Spring框架提供了强大的事务管理功能,无论是编程式事务管理还是声明式事务管理,都能...

    Jersey Java规范下REST风格Web Service开发框架

    Jersey Java 规范下 REST 风格 Web Service 开发框架 Jersey 是一个基于 Java 规范的 REST 风格 Web Service 开发框架,旨在帮助开发者快速构建 REST 风格 Web 服务。Jersey 是 JAX-RS(Java API for RESTful Web ...

    高效的Java异常处理框架.dot

    高效的Java异常处理框架

    rest框架cetia4的教程

    - **名称**: cetia4 REST框架是一款基于Java Servlet API的轻量级框架,适用于Web应用程序和服务开发。 - **版本**: 当前版本为1.0。 - **作者**: Santiago Arriaga。 - **版权归属**: Acsinet S.A. de C.V.,版权...

    java Rest 接口

    【Java REST 接口详解】 REST(Representational State Transfer,表现层状态转移)是一种软件架构风格,用于构建基于HTTP协议的Web服务。它的核心理念是通过简洁的方式处理网络通信,使得服务更易于理解和使用。...

    activiti-rest框架基础接口文档_v1.0.docx

    Activiti REST 框架基础接口文档 Activiti 是一个基于 Java 的工作流引擎,提供了一个 RESTful API 来访问和操作工作流相关的资源。Activiti REST 框架提供了一个简洁的接口来访问和操作Activiti引擎,方便开发者...

    三步发布java方式的rest服务

    在Java世界中,有许多框架支持快速开发REST服务,如Jersey、Spring Boot、Dropwizard等。这里我们以广泛使用的Spring Boot为例,因为其内置了对REST的支持,且具有强大的社区和丰富的生态系统。Spring Boot简化了...

    开发者突击Java Web主流框架

    7. **RESTful架构**:现代Web应用常采用REST(Representational State Transfer)架构,Spring MVC和Jersey等框架支持创建RESTful服务,提供资源的CRUD操作。 8. **Filter和Listener**:Java Web应用中的Filter和...

    Elasticsearch Java Rest Client..zip

    **Elasticsearch Java REST 客户端详解** Elasticsearch 是一个开源的全文搜索引擎,它提供了分布式的实时文档存储、搜索和分析功能。Java REST 客户端是 Elasticsearch 提供的一种与服务器通信的方式,它是基于 ...

    REST-spring-security.rar_java rest_java security_rest_rest secu

    Spring Security框架是Java开发者实现安全控制的重要工具。本项目“REST-spring-security”专注于利用Spring Security来保护基于REST的Web服务,确保数据和API接口的安全。 首先,我们需要理解REST...

    restlet-framework-java:领先的Java REST API框架

    领先的Java REST API框架 得益于Restlet Framework强大的路由和过滤功能,统一的客户端和服务器Java API,开发人员可以构建安全且可扩展的RESTful Web API。 它适用于所有主要平台(Java SE / EE,Google App ...

    Rest.li是一个RESTJSON框架

    总之,Rest.li是一个为Java开发人员设计的强大REST框架,它结合了类型安全、异步I/O和RESTful架构的最佳实践,有助于构建高质量的、可扩展的API服务。如果你正在寻找一个能够提供强大功能和灵活性的REST框架,Rest....

    基于Java语言完整的前台框架

    【标题】: "基于Java语言的完整前台框架" 在IT领域,前端开发是构建Web应用程序不可或缺的一部分,而一套完善的前端框架能够极大地提升开发效率和用户体验。本资源提供了一套使用Java语言开发的完整前台框架,这...

    java自动化测试框架

    Java自动化测试框架是软件开发过程中不可或缺的一部分,它能够帮助开发者高效、准确地验证代码功能,提高软件质量。本文将深入探讨Java自动化测试框架的核心概念、常用工具以及如何构建一个基本的自动化测试流程。 ...

Global site tag (gtag.js) - Google Analytics