感冒几天,病情终于有所好转;继续使用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
分享到:
相关推荐
初学netbeans6.8 做的一个关于界面的小程序 symbian s60 在诺基亚3250上测试成功
说明了Android+Netbeans6.8环境搭建过程,以及使用Netbeans环境 时,虚拟sd卡的使用
Netbeans6.8 配置php5.30.docNetbeans6.8 配置php5.30.docNetbeans6.8 配置php5.30.doc
Android\Android+Netbeans6.8环境搭建
方便 快捷 NetBeansIDE6.8 java 看了这个可以帮助你更好地使用NetBeansIDE6.8
Netbeans 6.8配置Mysql数据库.docxNetbeans 6.8配置Mysql数据库.docx
netbeans 6.8开发c/c++ 程序 两个连接编译软件+安装说明doc文档+官网文档 简洁明了的图文说明 你可以不知道java,你不可以不尊敬SUN——一个伟大的平民公司
Netbeans 6.8配置Mysql数据库 (2).docxNetbeans 6.8配置Mysql数据库 (2).docx
netbeans 6.8开发c/c++ 程序 两个连接编译软件+安装说明doc文档+官网文档 简洁明了的图文说明 你可以不知道java,你不可以不尊敬SUN——一个伟大的平民公司
NULL 博文链接:https://bloodmud.iteye.com/blog/571282
NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeans IDE已经支持PHP、Ruby、JavaScript、Groovy、Grails和C/C++等开发语言。...
Java实验工具2(netbeans-6.8m2-ml-javase-windows)
PHP编辑软件 带提示 免费,不需注册,可以聊天 注:由于文件上传大小限制 这是第一个压缩文件请根据第二个连接下载第二个文件
PHP编辑软件 带提示 免费,不需注册,可以聊天 由于文件大小限制 这是第一个压缩文件请根据第二个连接下载第二个文件
上传一个NetBeans的安装包希望可以帮助使用NetBeans的用户
安装struts2的插件 nbm插件 NetBeans6.8
用 netbeans 实现的 Java JDK6学习笔记 第十九章代码
scala netbeans 插件(3)scala netbeans 插件(3)scala netbeans 插件(3)scala netbeans 插件(3)scala netbeans 插件(3)
使用Netbeans 7.3 开发基于JSF, EJB, JPA的应用程序. JSF实用primefaces 3.4, 数据库使用oraclexe 11g. 注: 该文档是在原作者的netbeans6.8, javadb的基础上修改的,并在netbeans 7.3中测试成功.
Netbeans IDE 6高级编程 英文高清版