使用Apache Wink和Ajax构建富Java Web应用程序

本文将介绍 Apache Wink,演示如何安装它,并附带一个简单的管理任务列 表的 RESTful Web 服务。本文的示例基于 Apache Wink 发行版携带的 Bookmarks 示例。尽管如此,本文中的示例使用了不同的消息格式,可以使用 Asynchronous JavaScript + XML (Ajax) 从 Web 页面轻松调用,从而丰富了用 户体验。

REST 和 Ajax

RESTful Web 服务通过使用某种 URL 结构公开,并提 供了一个简化的接口来对 Web 服务进行创建、读取、更新和删除(CRUD)操作 。RESTful Web 服务可以使用并提供各种不同格式的消息,这些消息都能被 Multipurpose Internet Mail Extensions(MIME) 类型识别,包括 JavaScript Object Notation(JSON)、XML 以及其他二进制数据。

RESTful Web 服务 的简单性使得使用 Web 客户端技术(如 Ajax)进行访问变得更容易。使用 JSON 作为消息格式的能力又进一步简化了交互。

REST

与 SOAP 不同,RESTful Web 服务并不一定需要 XML 文档作为消息载体。并没有标准的 XML Schema Definition(XSD) 描述消息格式。这使得 RESTful Web 服务可以像 访问 URL 时返回的文档一样简单。实际上,Web 页面确实符合 RESTful Web 服 务的配置文件。

由于消息格式并不需要使用 XML,因此几乎支持所有类 型的消息内容。例如,可以将普通文本提交给 URL 以对一个 RESTful Web 服务 调用 POST 方法。也可以使用其他简单消息格式,例如 JSON。Apache Wink 能 够匹配 HTTP 操作中识别的 MIME 类型和使用并提供给定 MIME 类型的服务方法 。

RESTful Web 服务使用不同的 HTTP 操作来公开服务,而这些服务执 行不同的操作。尽管本身没有确定的标准,但有些原则定义了对特定的任务使用 哪些 HTTP 操作。请看表 1。

表 1. REST 操作和 URL 示例

HTTP 操作 URL 样例 用途
GET http://localhost:8080/Task/rest/tasks 列举出服务搜索到的所有任务
GET http://localhost:8080/Task/rest/tasks/1< /td> 获得 ID 为 1 的任务
POST http://localhost:8080/Task/rest/tasks 根据提交的数据创建一个新任务
PUT http://localhost:8080/Task/rest/tasks/1< /td> 使用数据请求更新 ID 为 1 的指定任务
DELETE http://localhost:8080/Task/rest/tasks /1 删除 ID 为 1 的任务
时间: 2024-12-04 00:32:57

使用Apache Wink和Ajax构建富Java Web应用程序的相关文章

面向Java程序员的Ajax:构建动态Java程序

ajax|程序|程序员|动态     Ajax(即异步 JavaScript 和 XML)是一种 Web 应用程序开发的手段,它采用客户端脚本与 Web 服务器交换数据.所以,不必采用会中断交互的完整页面刷新,就可以动态地更新 Web 页面. 使用 Ajax,可以创建更加丰富.更加动态的 Web 应用程序用户界面,其即时性与可用性甚至能够接近本机桌面应用程序. Ajax 不是一项技术,而更像是一个 模式 -- 一种识别和描述有用的设计技术的方式.Ajax 是新颖的,因为许多开发人员才刚刚开始知道

如何使用AJAX技术构建优秀的Web应用程序

一. 简介 异步JavaScript+XML(即Ajax),是一种创建交互式web应用程序的Web开发技术.这种程序使用JavaScript和XML从客户端提交服务器请求,且整个过程中仅需要交换少量的数据而不必提交整个web页面.因此,这样的程序将更快和更具响应性,并将成为新一代客户机-服务器系统的重要基础技术之一.你可以在站点http://www.google.com/webhp?complete=1&hl=en处看到一种良好的AJAX实践技术展示.在此页面中,如果你把任何字母输入到文本框内,

面向Java Web应用程序的OpenID,第2部分

为单点登录身份验证编写OpenID提供者 简介:本文中,您将学习如何使用 OpenID 保护 Java Web 应用程序资源,以防止被没有经过身份验证的用户的损害.在这个介绍 OpenID 身份验证规范的系列的第 2 部分中,Steve Perry 讲解如何使用 openid4java 库为单点登录场景创建 OpenID 提供者.通过在"闭环"架构中构建作为 OpenID 提供者的应用程序,可以让最终用户只需登录一次,即可访问多个应用程序.另外,您还将学习如何使用 OpenID Att

面向Java Web应用程序的OpenID,第1部分

在Java Web应用程序中使用OpenID身份验证 OpenID 是一套分散式身份验证系统.通过 OpenID 我可以证明自己拥有类似 http://openid.jstevenperry.com/steve 这样的 URL,而且可以使用经验证的身份登录任何支持 OpenID 的站点 - 比如 Google.Slashdot 或 Wordpress.OpenID 对终端用户来说无疑是个不错的工具.但是对 OpenID 的使用引发我产生这样的想法:"如果使用 OpenID 为我给客户编写的基于

使用JLCA将Java Web应用程序转换为ASP.NET

本文讨论: 资源定位 I/O 流 日志记录和集合 重构 本文使用了以下技术: ASP.NET.JLCA 和 C# 目录 关于 JLCA 定位资源 处理输入/输出 API 日志记录 集合 筛选器和 HTTP 处理程序 源树和命名约定 何时重构约定 目录布局和命名空间 属性 Pascal 大小写方法名称 总结 典型的软件开发周期遵循简单的模型:收集要求.设计应用程序.编写代码.测试软件和部署软件.但是,有时新的开发项目是基于客户想用来部署应用程序的平台而启动的.在这种情况下,可以将现有应用程序的基本

Apache Wink一个用于构建REST的框架

本文示例将向您展示如何使用 Wink 和 OpenJPA 从头至尾完成 CRUD(创建.检索.更新和删除)操作. 具象状态传输 (Representational State Transfer,REST) 是分布式超媒体系统(比如 World Wide Web)的一种软件构架风格.资源或者特定信息来源是 REST 的一个重要组成部分.每一资源通过全局标识符(例如,HTPP 中的 URI)引用.想要对资源进行操作,网路组件(称为用户代理和伺服器)使用标准化接口 (HTTP) 通信以及交换资源表现方

使用jQuery,第3部分:用jQuery和Ajax构建富Internet应用程序

本文配套源码 简介 最近这几个月以来,JQuery 受欢迎的指数迅速攀升,现已成为 Web 开发人员首选的 JavaScript 库.与此同时,人们对富 Internet 应用程序(Rich Internet Application,RIA)的应用和需求也在迅速增长,并期待用基于浏览器的应用程序代替桌面应用程序.无论是电子表格,还是薪水册和电子邮件应用程序,现在都在浏览器中再现了类似于桌面的体验.随着这些应用程序数量的增多和功能的日益复杂,JavaScript 库将会变得越来越重要,因为它是构建

使用AJAX技术开发新一代Web应用程序(4)

ajax|web|程序 由于网络潜力的不可预测性,这种可察觉的错误来来去去,并且测试应用程序的响应性也可能变得更为困难.因此,网络潜力是真实世界应用程序具有可怜的交互性的最通常的原因.四.异步客户端 在实际中,我们必须尽量使UI响应独立于网络活动.幸好,一段固定时间的响应经常就足够了,只要它是及时的.让我们再次看一下实际中的问题.我的早上例程的主要任务之一是唤醒我的孩子们上学.我可以站在他们上面戳他们直到他们起床并穿上衣服,但这是一相当花费时间的方式,留下很长的一段时间我几乎无事可做(图8).

使用jQuery,第2部分:构建未来的Web应用程序

本文配套源码 简介 这6个月以来,JQuery受欢迎的指数迅速攀升,现已成为Web开发人员首选的JavaScript库.与此同时,人们对富Internet应用程序(RichInternetApplication,RIA)的应用和需求也在迅速增长,并期待用基于浏览器的应用程序代替桌面应用程序.无论是电子表格,还是薪水册和电子邮件应用程序,现在都在浏览器中再现了类似于桌面的体验.随着这些应用程序数量的增多和功能的日益复杂,JavaScript库将会变得越来越重要,因为它是构建这些应用程序的坚实基础.