感冒几天,病情终于有所好转;继续使用NetBean6.8+GlassFish体验JEE6。Java EE 6 中所引入的 JSR-311是Rest full webService 。REST 是英文 Representational State Transfer 的缩写,有中文翻译为“具象状态传输”。REST 这个术语是由 Roy Fielding 在他的博士论文 《 Architectural Styles and the Design of Network-based Software Architectures 》中提出的。REST 并非标准,而是一种开发 Web 应用的架构风格,可以将其理解为一种设计模式。REST 基于 HTTP,URI,以及 XML 这些现有的广泛流行的协议和标准,伴随着 REST,HTTP 协议得到了更加正确的使用。
相较于基于 SOAP 和 WSDL 的 Web 服务,REST 模式提供了更为简洁的实现方案。目前,越来越多的 Web 服务开始采用 REST 风格设计和实现,真实世界中比较著名的 REST 服务包括:Google AJAX 搜索 API、Amazon Simple Storage Service (Amazon S3) 等。
基于 REST 的 Web 服务遵循一些基本的设计原则:
系统中的每一个对象或是资源都可以通过一个唯一的 URI 来进行寻址,URI 的结构应该简单、可预测且易于理解,比如定义目录结构式的 URI。
以遵循 RFC-2616 所定义的协议的方式显式地使用 HTTP 方法,建立创建、检索、更新和删除(CRUD:Create, Retrieve, Update and Delete)操作与 HTTP 方法之间的一对一映射:
若要在服务器上创建资源,应该使用 POST 方法;
若要检索某个资源,应该使用 GET 方法;
若要更改资源状态或对其进行更新,应该使用 PUT 方法;
若要删除某个资源,应该使用 DELETE 方法。
URI 所访问的每个资源都可以使用不同的形式加以表示(比如 XML 或者 JSON),具体的表现形式取决于访问资源的客户端,客户端与服务提供者使用一种内容协商的机制(请求头与 MIME 类型)来选择合适的数据格式,最小化彼此之间的数据耦合。
JSR311定义的标注主要有: @GET、@POST、@PUT、@DELETE、@HttpMethod、@Path、@Consumes、@Produces等。
一、新建项目工程
启动netbeans6.8,按快捷键Ctrl+Shift+N 打开新建项目窗口如下图:
选择“Java Web” —>“WEB 应用程序”点击“下一步”打开输入项目名称对话框,在项目名称中输入“testrest”点击“下一步”则弹出如下图对话框:
在服务器选择框中选择“GlassFish V3域”,JavaEE版本中选择“Java EE6 Web”;上下文路径中输入“/testrest”点击完成。
二、新建包
选择testrest项目的“源包”单击右键分别新建二个package:com.rest与com.test。
三、新建基于模式的REST风格WEB服务
选中com.rest包单击右键选择“新建”—>“其他”如下图:
则弹出如下图对话框:
类型选择“WEB 服务”—>“基于模式的REST风格的WEB服务”点击“下一步”则弹出如下对话框:
选择“简单根资源“点击下一步,弹出如下对话框:
路径输入“rest“类名输入 “TestRest”、MIME类型输入“Application/xml“表示类输入 “java.lang.String”点击完成。
在“REST 资源配置“对话框中的REST资源路径中输入 “/resources”点击“确定“。
除去注释写入如下代码:
package com.rest;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
@Path("/rest")
public class TestRest {
@Context
private UriInfo context;
@GET
@Produces("application/xml")
public String getHelloText() {
String text ="<?xml version=\"1.0\" encoding=\"UTF-8\"?><com>HelloWorld! </com>";
return text;
}
@Path("/{id:\\d+}/")
@GET
@Produces("application/xml")
public String getHelloById(@PathParam("id") int id) {
String text ="<?xml version=\"1.0\" encoding=\"UTF-8\"?><com>The id is:"+id+"</com>";
return text;
}
@Path("/{code}/")
@GET
@Produces("application/xml")
public String getHelloByCode(@PathParam("code") String code) {
String text ="<?xml version=\"1.0\" encoding=\"UTF-8\"?><com>The id code:"+code+"</com>";
return text;
}
}
四、部署并测试
@Path("rest")是指定了资源的对应路径是/rest,之前在资源路径中输入了/resources所以完成路径就是Http://localhost:8080/testrest/resources/rest。
getHelloText方法是默认的资源路径:Http://localhost:8080/testrest/resources/rest.如果在浏览器输入这个地址则返回包含HelloWorld!的XML代码。
getHelloById方法则是包含参数ID的资源路径如:Http://localhost:8080/testrest/resources/rest/1。
getHelloByCode方法则是包含参数CODE的资源路径如:Http://localhost:8080/testrest/resources/rest/whiteangell。
部属testrest应用,启动GlassFish服务器输入资源地址看看效果吧!JEE 6真是轻量级,比之前我们用struts进写ajax请求简单多了!快来试试吧!
下一节我们继续体验Jee 6 深入研究REST WEBSERVICE。
- 大小: 51.1 KB
- 大小: 47.4 KB
- 大小: 27.1 KB
- 大小: 64 KB
- 大小: 58.5 KB
- 大小: 54.5 KB
- 大小: 36.6 KB
分享到:
相关推荐
6. **版本控制**:虽然未直接提及,但NetBeans 6.8也集成了版本控制系统,如Git或CVS,这对于团队协作和代码管理至关重要。初学者可以借此机会学习如何提交、拉取、合并代码。 7. **错误调试**:IDE内置的调试工具...
标题 "netbeans 6.8开发c/c++ 程序(1)" 指向的是使用NetBeans 6.8版本进行C/C++程序开发的主题。NetBeans是一款开源的集成开发环境(IDE),它支持多种编程语言,包括C和C++。在本主题中,我们将深入探讨如何利用...
搭建Android开发环境是每个Android开发者必须要经历的步骤,本文将详细介绍如何使用Netbeans6.8进行Android环境的配置,以及如何在Netbeans中利用虚拟SD卡进行文件操作。 首先,你需要准备以下三个主要的安装包:...
标题中的“netbeans 6.8开发c/c++程序(2)”表明了本文将深入探讨如何使用NetBeans 6.8版本的集成开发环境(IDE)进行C和C++编程。NetBeans是一款开源且跨平台的IDE,支持多种编程语言,包括C和C++,在6.8版本中,它...
搭建Android开发环境是每个Android开发者必须要经历的步骤,本文将详细介绍如何使用Netbeans6.8与Android SDK结合,创建一个完整的开发环境。 首先,我们从基础开始,你需要下载以下组件: 1. JDK 1.7:Java ...
在压缩包中提到的`fontconfig.properties`文件,可能与NetBeans的字体配置相关。在NetBeans中,用户可以自定义编辑器中的字体、字号以及颜色主题。打开这个文件,可以调整代码显示的字体类型、大小,以及高亮颜色,...
### NetBeans 6.8 配置 PHP 5.30 的详细步骤及注意事项 #### 一、前言 本文档旨在详细介绍如何在 NetBeans 6.8 中配置 PHP 5.30 开发环境的过程。为了实现这一目标,我们需要借助 XAMPP 作为本地服务器环境,并对...
#### 二、NetBeans IDE 6.8的核心功能与快捷键 ##### 1. 项目管理 在NetBeans IDE 6.8中,项目(Project)是非常重要的概念。一个项目包含了所有相关的源代码和资源文件。通过项目来组织代码,可以极大地提高开发...
现在,你已经成功配置了NetBeans 6.8与MySQL数据库的连接。你可以通过这个连接来执行SQL查询、创建表、导入导出数据,甚至在Java应用程序中使用这些连接进行数据库操作。这个过程对于任何使用NetBeans进行Web应用...
本文将详细介绍如何在NetBeans 6.8版本中配置MySQL数据库,以便进行数据库相关的开发工作。 首先,我们需要理解NetBeans与MySQL数据库之间的连接原理。MySQL是一种流行的开源关系型数据库管理系统,而NetBeans作为...
【标题】"Java实验工具2(netbeans-6.8m2-ml-javase-windows)" 是一个针对Windows平台的Java开发环境,基于NetBeans IDE的特定版本,即6.8 Milestone 2。这个工具包专为进行Java编程实验而设计,适合初学者和专业...
NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeans IDE已经支持PHP、Ruby、JavaScript、Groovy、Grails和C/C++等开发语言。...
PHP编辑软件 带提示 免费,不需注册,可以聊天 注:由于文件上传大小限制 这是第一个压缩文件请根据第二个连接下载第二个文件
PHP编辑软件 带提示 免费,不需注册,可以聊天 由于文件大小限制 这是第一个压缩文件请根据第二个连接下载第二个文件
上传一个NetBeans的安装包希望可以帮助使用NetBeans的用户
安装struts2的插件 nbm插件 NetBeans6.8
在.NET编程环境中,NetBeans 6.8是一个流行的开源集成开发环境(IDE),它支持多种语言,包括Java、C++和Groovy等。利用NetBeans 6.8创建一个计算器项目是一个很好的学习实践,可以让你熟悉GUI编程和事件处理。下面...
【标题】"Netbeans jdk6 Jnotepade"指的是使用NetBeans集成开发环境(IDE)基于Java JDK 6版本创建的一个项目,该项目可能是一个简单的文本编辑器或类似JNotepad的应用程序。JNotepad是Java中常见的一个基础文本编辑...
3. **代码编辑与调试**:介绍Netbeans IDE 6的智能代码补全、语法高亮、代码导航和调试工具,提升开发效率和问题定位能力。 4. **GUI构建**:探讨使用Matisse工具设计图形用户界面的方法,包括组件选择、布局管理、...
### PHP调试之Netbeans + xdebug配置全攻略 在PHP开发过程中,经常需要对代码进行调试来确保程序的正确性和高效性。对于PHP开发者来说,一个强大的集成开发环境(IDE)加上一个高效的调试器是非常重要的工具组合。...