restful webservice构建小例子(restlet).docxVIP

  • 2
  • 0
  • 约1.67千字
  • 约 5页
  • 2018-01-04 发布于河南
  • 举报
restful webservice构建小例子(restlet)

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

文档评论(0)

1亿VIP精品文档

相关文档