REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
REST 要求开发人员显式地使用 HTTP 方法,并且使用方式与协议定义一致。 这个基本 REST 设计原则建立了创建、读取、更新和删除(create, read, update, and delete,CRUD)操作与 HTTP 方法之间的一对一映射。 根据此映射:
- 若要在服务器上创建资源,应该使用 POST 方法。
- 若要检索某个资源,应该使用 GET 方法。
- 若要更改资源状态或对其进行更新,应该使用 PUT 方法。
- 若要删除某个资源,应该使用 DELETE 方法。
目前宣称支持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框架为例,介绍REST开发的方法
1. 修改web.xml 增加servlet 配置项和 <context-param> 配置项
<context-param>
<param-name>org.restlet.application</param-name>
<param-value>org.lifeba.ws.app.RestSimpleApplication</param-value>
</context-param>
<!--
<context-param>
<param-name>org.restlet.component</param-name>
<param-value>org.lifeba.ws.app.RestComponent</param-value>
</context-param>
-->
<servlet>
<servlet-name>RestletServlet</servlet-name>
<servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RestletServlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
2. 所有的应用类都必须继承自org.restlet.Application
public class RestSimpleApplication extends org.restlet.Application
3. 在应用类的createInboundRoot()方法中增加路由信息
@Override
public Restlet createInboundRoot() {
Router router = new Router(getContext());
router.attach("/student/{studentId}", StudentResource.class);
router.attach("/student", StudentsResource.class);
return router;
}
4. 资源类继承自org.restlet.resource.ServerResource
5. 启动Server,访问 http://localhost:9080/RESTApp/students 可以看到所有学生信息。
http://localhost:9080/RESTApp/student/1 显示ID=1的student
http://localhost:9080/RESTApp/add.jsp 增加学生
http://localhost:9080/RESTApp/update.jsp 更新学生信息。
相关推荐
Jersey Java 规范下 REST 风格 Web Service 开发框架 Jersey 是一个基于 Java 规范的 REST 风格 Web Service 开发框架,旨在帮助开发者快速构建 REST 风格 Web 服务。Jersey 是 JAX-RS(Java API for RESTful Web ...
### REST开发指南知识点详解 #### 一、REST概念与架构 **REST(Representational State Transfer)** 是一种软件架构风格,特别适用于构建分布式超媒体系统,例如万维网。REST 被认为是构建 Web 服务的一种简单且...
标题中的“超轻量级的REST框架实现”指的是在软件开发中使用的一种轻量级的、基于HTTP协议的REST(Representational State Transfer)服务构建框架。REST是一种软件架构风格,常用于Web服务的设计,强调资源的表述和...
标题 "jersery client调用REST框架web services服务的一个示例" 描述了一种使用Jersey客户端库来访问RESTful Web服务的技术。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于...
Rest.li是LinkedIn开源的一个强大的RESTful服务开发框架,专门针对JSON数据交换设计。它提供了一套全面的解决方案,用于构建可扩展、健壮且类型安全的API。在深入理解Rest.li之前,我们先来了解一些基本概念。 REST...
1. **C#语言基础**:C#是Microsoft开发的一种面向对象的编程语言,常用于Windows平台的应用程序开发,尤其在.NET框架下,C#与ASP.NET结合,可以构建高效、安全的Web应用程序。 2. **ASP.NET框架**:ASP.NET是.NET...
ASP.NET WebAPI+mvc4.0+EasyUI 快速开发框架是现代Web应用程序开发中的一个强大组合,尤其适用于构建企业级的通用权限管理系统。这个框架结合了多种技术的优势,以提供高效、灵活且易于维护的解决方案。 首先,ASP...
在“REST示例和全部jar包”中,我们可以理解为包含了一些用于开发RESTful服务的Java库,例如jersey、spring-boot-starter-web等。这些jar包提供了实现REST接口的工具和框架,帮助开发者快速构建REST服务。 Jersey是...
SpringMVC是Spring框架的一部分,它是一个模型-视图-控制器(MVC)的Web应用开发框架。SpringMVC提供了一种结构化的方式来组织后端逻辑,处理HTTP请求,并返回响应。它的核心特性包括: 1. **DispatcherServlet**:...
在压缩包文件名称`springmvchibernate`中,我们可以推断出该示例可能还整合了Hibernate,这是一个流行的Java ORM(对象关系映射)框架。Hibernate允许开发者将数据库操作转换为面向对象的代码,与SpringMVC结合使用...
**REST的开源框架Jersey详解** ...总之,Jersey作为一款强大的REST框架,不仅简化了REST服务的开发,还提供了丰富的功能和扩展性。通过深入理解和实践,开发者能够构建出高效、可维护的RESTful Web服务。
Django REST框架(Django REST framework,简称DRF)是基于Python的流行Web开发框架Django上的一个强大的API构建工具。它为开发者提供了构建可伸缩、高性能且易于使用的RESTful Web服务的工具集。Django REST框架的...
综上所述,Django REST 框架和 React 的结合使用可以带来高效且可扩展的 Web 开发体验。通过这个组合,开发者可以利用 Django 的强大后端处理能力和 React 的高性能前端渲染,构建出功能丰富、响应式的现代 Web 应用...
本教程将深入探讨如何利用`go-json-rest`来实现一个用户管理的示例项目。 首先,`go-json-rest`框架的核心在于它提供了对HTTP请求的处理,包括路由、参数解析以及JSON数据的序列化与反序列化。它的安装非常简单,只...
这个"flowablek框架示例代码"压缩包可能是为了帮助开发者更好地理解和应用 Flowable 框架而提供的实践代码集合。尽管标签为"小说",但我们可以推断这里指的是某种与 Flowable 相关的项目或教程。 Flowable 框架的...
重点涵盖环境配置、Spring框架配置、Jersey与Spring的集成配置,以及通过前端Ajax调用REST服务的示例。 #### 环境配置 ##### 开发工具配置 开发工具的正确配置对于搭建REST服务至关重要。根据文档描述,推荐的...
REST API的开发框架介绍:JSR-311,REST Web Services框架 JAX-RS,java接口;### REST Web Application多层框架 REST 应用场景,适合和不适合什么 基于HTTP的REST, 介绍资源uri,传输格式,对资源的操作(GET、...