restful webservice构建小例子(restlet).docx_第1页
restful webservice构建小例子(restlet).docx_第2页
restful webservice构建小例子(restlet).docx_第3页
restful webservice构建小例子(restlet).docx_第4页
restful webservice构建小例子(restlet).docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Restful Webservice构建1) 简述主要使用restlet框架来实现rest风格的web服务构建。为什么选用restlet呢?主要从以下角度考虑:1. 完全的rest实现,完全抛弃Servlet API2. 轻量级框架,可作为j2se程序独立运行,又可运行在现有的web容器中虽然struts2.0 spring3.0 jrs很多都可以实现restful的应用,但是restlet可完美集成在spring等框架中3. 服务端/客户端 支持*其他特性请参照restlet的官网翻译片段2) 具体实现1. 采用restlet框架来支持rest,封装dbcp数据库连接池来提供数据库访问。2. 对某一类性的资源采用同一application来管理,此类型的资源可能有若干个资源类来支持。下面以Rss新闻的服务来详细介绍下相关的实现以及配置1. 首先建立的一个web工程,这里采用了Tomcat服务器作为单机调试用2. Web-inf/web.xml来注册restlet的监听3. Web-inf/restlet.xml来定义application级别的restful url映射以图中所示工程为例,当请求http:/主机ip/UniteRestfulService/RssNewsPlaces的时候 ,restlet将会自动将此请求交由unite.client.service.rssNews. RssNewsApplication类来进行处理4. 在application这一级别的类中(比如RssNewsApplication)类,可以对资源进行进一步的映射配置通过如上进一步的配置,http:/主机ip/UniteRestfulService/RssNewsPlaces这个请求将会映射到RssNewsPlacesResource类;而http:/主机ip/UniteRestfulService/RssNewsPlaces/place这个请求将会映射到RssNewsResource类。(上面的这一步骤体现了restlet对url-资源这一rest概念的基本阐释)5. mon.DbcpBean类利用dbcp对数据库访问进行了单例模式封装。能够保证一定的数据库操作性能。perties利用资源文件对数据库以及连接池做参数配置。定义数据库地址,用户名密码,jdbc驱动类型,数据库连接池初始链接数,最大连数,最大闲置连接数,最大等待响应时间毫秒数等。上面是一段使用DbcpBean的 程序,检索了RssUrl表,将表中存在的地区名,以及该地区所对应的新闻链接地址读取出来。6. 回到RssNewsPlacesResource/RssNewsResource资源类在*Resource资源类中,提供对资源的GET/PUT/POST/DELETE操作。Restlet提供多种方式的实现方式。比如注解方式,或者重写父类方法的方式等。注解方式中,采用类似 这样的注解,来声明某个方法的属性等。而重写父类方法方式也可以更加灵活。部分省略通过XstreamRepresentation或者JacksonRepresentation等restlet功能拓展类,将某实体类的实例转化为符合XML/JSON请求的数据类型的数据。7. 实际运行结果URL: http:/localhost:8080/UniteRestfulService/RssNewsPlaces对应的返回结果xml形式呈现(截图为部分数据)URL:http:/localhost:8080/UniteRestfulService/RssNewsPlaces/北京 对应的返回结果xml形式呈现(截图为部分数据)通过xml/json方式,可以很方便的将返回结果提供给调用方进行使用;如果使用restlet的客户端类,可以更加方便的将xml/json数据转换为对应的实体类。3) 总结通过一个业务的实现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论