当前位置:  编程技术>java/j2ee

介绍Jersey-Jersey入门基础

    来源: 互联网  发布时间:2014-10-22

    本文导语:  这里不准备讨论REST的细节内容,但是总体上,REST是让客户端与服务器段的交互通过发送和接收展示资源的方式来进行,在这里有必要说明:  Fielding是http协议和apache web server的核心作者之一。举个例子:  一个http get reque...

这里不准备讨论REST的细节内容,但是总体上,REST是让客户端与服务器段的交互通过发送和接收展示资源的方式来进行,在这里有必要说明:

  Fielding是http协议和apache web server的核心作者之一。举个例子:
  一个http get request可以接收到一个资源
  一个http post request可以生成一个资源。

  如此描述,对JAVA开发者来讲也许过于底层了,事实上绝大多数的J2EE  应用程序,尤其javaserver faces应用程序是不允许REST这样的风格框架的,所以后面我们会仔细比较JavaServer Faces与REST应用之间的区别。JSR311描述了如何在JAVA中实践REST的架构风格。

  实现JSR311的框架已经有一些了,比如今天要介绍的Jersey. Jersey目前看是比较成熟,在开发中应用最广泛,而且被oracle提供支持的开源框架。

  一,使用 NetBeans JavaServer Faces,来建立一个例子应用程序

  这个例子是关于文章投票的系统,一篇文章,需要有文章内容,作者,投票三个实体,实际上就是我们前面说的资源(针对REST)。
  需要说明的这里的文章内容,作者,和投票实体在代码层面都是映射成类的哦。
  在这个测试应用中,我们仅在三个实体上生成一个CRUD(create,read,update,delete)基础功能,虽然简单,但是基础可用。
  但是这样的程序有个比较大的问题:
  程序的VIEW层只能使用JavaServer Faces,而REST风格的程序,可以使用多种格式来展示应用资源的状态信息,例如XML,PDF,JavaScript Object Notation (JSON)等。

  二,建立基于REST的客户端

  NetBeans,可以帮助你自动整个建立过程。
  1,右键你的项目,然后进行如下选择 New > RESTful Web Services from Entity Classes
  2,选中前面所建立好的但个实体
  3,对于转换选择包 fr.responcia.otn.articleevaluator.rest.converter
  对于资源选择包fr.responcia.otn.articleevaluator.rest.resource
  4,选择Create default REST servlet adaptor in web.xml
  NetBeans事实上生成两组类,一组类用来映射实体类到XML文档,通过使用JAXB技术。
  另一组是资源,每个资源包括了一类实体的所有实例。以方便客户端的操作和在服务器及客户端进行交换。
  我们可以使用REST的接口来对实体进行操作,在resource包中,你可以通过查看类,可以发现URLS和针对每个实体的显示层是如何进行
  构建的。
  因为在前面我们实现了两个作者的实体实例,所以当你访问如下地址http://localhost:8080/ArticleEvaluator/resources/authors的时候,你
  可以看到如下界面:
  你会看到两个作者的列表信息(图片省略了),当然你也可以通过如下的地址访问具体的某一个作者:
  http://localhost:8080/ArticleEvaluator/resources/authors/1/
  测试REST应用
  只使用WEB浏览器是不能全面测试REST应用的,因为我们还使用了JSON对象,JSON对象被广泛的应用到REST的应用中。

  JSON比纯粹的XML格式更好,可以被JS脚本访问。可以结合jquery使用。

  测试REST应用,可以使用两种方法来进行:

  1,使用Jsersey提供的测试框架
  2,使用底层的库,例如Apache Commons HttpClient ,来手工处理HTTP Request.
  通常第一种方法,比较有效率,因为是框架,但是想知道更多的细节则需要使用方法2,你可以到 http://hc.apache.org/httpclient-3.x/ 下载
  HttpClient.

  测试方法通常包括三个:

  createArticle()    --生成Article
  testResourceAsXml()--测试XML的格式
  testResourceAsJson()

  比较下 JavaServer Faces and a REST 两中不同类型的客户端:

  1,两种客户端都可以使用NetBeans帮助生成。
  2,两种前端都使用了实体对象的概念。
  3,两种前端可以同时使用,不会有什么冲突。

  下面是比较有区别的地方:

  1,JSF的应用状态保存在了服务器端,用户的操作状态都保存到了HttpSession 而REST则是把状态保存到了客户端。
  使用 REST URLs 来跟资源进行交互,这也是为什么JSF比较容易编码的原因。
  2,JSF提供了丰富的用户界面组件,如果你的应用中需要界面,那么使用JSF则比较有效率,后者没有界面组件,只能结合JQUERY等来使用。
  3,REST拥有better-looking URLs这样可以被用户进行书签收藏,也方便搜索引擎收录。
  4,REST提供了对同一资源进行多格式显示的可能,例如XML,PDF,JDON等。

    
 
 

您可能感兴趣的文章:

  • 麻烦大家给介绍介绍几本J2EE的入门书呗
  • 请大家给介绍一本JSP入门的好书,和一本介绍实际开发经验的好书
  • 请大家介绍一下java BEAN的入门读物吧
  • 请介绍一些入门书籍(电子版):
  • Question_求Linux入门书籍介绍
  • 介绍几个好的jsp网站好吗要提供代码和一些入门书记的
  • 请高手介绍好书让在下入门:)
  • 给哥们介绍一个JAVA入门的好教材吧:)
  • 入门书看完了一本.可还有很多不明白,谁介绍本书我看?
  • 请介绍几本UNIX入门的书,我救急用!谢谢!
  • 各位高手:我想学习JAVA,听说jbuilder不错,请介绍几本入门书,多给一点见意。谢谢。
  • 介绍一本真正好的java入门到提高的书吧!!!
  • 请介绍java的几本入门的书吧,谢谢!电子书最好!!
  • 偶想学JAVA,拜托各位介绍一下新手入门的好书啊!
  • 请大家介绍一本Java入门的好书
  • 请帮忙介绍一本java入门的书, 给分啦!
  • 谁能给我介绍java入门的好的网站或文章吗?
  • 小弟早就想一窥Linux的奥秘,但苦于没有好的入门书,烦请大虾们介绍一些书,电子教程,好的网站及论坛
  • 我是编写ASP程序的,现在想学JAVA程序,请介绍几本入门书!提者有分!
  • 想研究LINUX内核哪位能介绍一下入门的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Docker 基础用法和常用命令及选项介绍
  • 请介绍一本JBUILDER的书,最好是适合有一定JAVA基础的人,谢谢!
  • 学了JAVA的一些语法后得掌握那些基础的类呀,有没有专门的文章或书籍介绍这个呀?
  • 请介绍一两本精典的JSP书籍,我要去买了,已有JAVA语言基础!
  • java面向对象基础_final详细介绍
  • python基础教程之基本内置数据类型介绍
  • python基础教程之缩进介绍
  • python基础教程之基本数据类型和变量声明介绍
  • python基础教程之循环介绍
  • python基础教程之自定义函数介绍
  • C#基础 延迟加载介绍与实例
  • C#基础知识系列八const和readonly关键字详细介绍
  • 关于mysql基础知识的介绍
  • Linux shell脚本基础学习详细介绍(完整版)第1/2页
  • 什么是Shell?Shell脚本基础知识详细介绍
  • linux基础之Shell Script入门介绍
  • C语言中基础小问题详细介绍
  • java.applet类applet的类成员方法: getcodebase定义及介绍
  • 我觉得介绍InstallAnyWhere的文档,太少了,请大家介绍一下,英文也可以◎◎◎◎◎◎◎◎
  • java命名空间java.awt接口adjustable的类成员方法: getvisibleamount定义及介绍
  • 请大家介绍几个关于嵌入式Linux开发的站点!最好介绍几个国外的!
  • java命名空间java.awt接口adjustable的类成员方法: getvalue定义及介绍
  • javacc,有研究过的朋友给介绍介绍,谢了
  • java命名空间java.awt类color的类成员方法: orange定义及介绍
  • 那里有关于jmf的开发资料和介绍,请那位仁兄帮忙(最好介绍一些好的资料)急!!
  • java命名空间java.awt类component.bltbufferstrategy的类成员方法: revalidate定义及介绍
  • 小弟对PROC不太了解,但老板要求用它开发,帮帮忙(介绍介绍相关的资源或网站)
  • java命名空间java.awt类component.flipbufferstrategy的类成员方法: destroybuffers定义及介绍
  • 介绍一本真正好的java入门到提高的书吧!!! iis7站长之家
  • java命名空间java.awt类cursor的类成员方法: predefined定义及介绍
  • 急!!谁了解macintosh?能不能给我介绍介绍?是不是跟linux差不多?使用开发工具JDK,这是不是不JAVA?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3