用cxf开发restful风格webservice

用cxf开发restful风格webservice

ID:34482860

大小:162.93 KB

页数:9页

时间:2019-03-06

用cxf开发restful风格webservice_第1页
用cxf开发restful风格webservice_第2页
用cxf开发restful风格webservice_第3页
用cxf开发restful风格webservice_第4页
用cxf开发restful风格webservice_第5页
资源描述:

《用cxf开发restful风格webservice》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用CXF开发RESTful风格WebService版本日期修改历史作者0.12011年6月27日文档创建陈操目录1RESTful简要介绍12开发一个普通的接口12.1定义DTO12.2定义接口22.3实现类23开发RESTful风格WebService服务端23.1定义资源(定义DTO)23.2开发接口33.3实现类43.4配置CXF(整合Spring)43.4.1接口的Spring配置文件43.4.2CXF的Spring配置文件43.4.3修改web.xml54开发RESTful风格WebService客户端(

2、Java)54.1定义客户端接口54.2定义实现类6第1页共1页机密–未经允许不得扩散1RESTful简要介绍RESTful风格的WebService之所以当下如此流行,是由于其相对于SOAP风格的WebService更简洁、更轻量级,REST风格的WebService传输的是JSON或极其简洁的XML,因而其效率和性能都比较理想。RESTful风格的WebService主张重用HTTP协议,面向资源编程(ROA)。扼要的说,RESTful风格WebService中,每一个URL即表示一个资源,比如http://

3、www.example.com/employees/1表示id为1的员工。1.如果对此URL调用HTTPGET方法,则返回员工的XML形式;2.如果对此URL调用HTTPPOST/PUT方法,则可以新增或者修改此员工;3.如果对此URL调用HTTPDELETE方法,则可以删除此员工;因此,我们在设计一个RESTful风格的接口时,一定要拥有面向资源设计的考量!此外,在实现接口的过程中,要遵循RESTful风格的几个特性,他们分别是:1.无状态性:HTTP本身即是无状态协议,因此RESTful天然的具备无状态性,具

4、备优良的水平扩展能力!2.幂等性:GET/PUT/DELETE方法具备此特性,幂等性可概述为无论重复调用多少次,其结果都一致!POST例外,不过设计的时候也可以按照此特性设计!3.唯一性:即URL地址要唯一的表示一个资源!关于事务、安全等更多的高级特性这里不阐述,有兴趣的可参考《RestfulWebService中文版》一书。下面以开发一个普通接口和开发REST风格WebService接口为对比,指导大家快速入门。2开发一个普通的接口2.1定义DTOpublicclassInfoimplementsSeriali

5、zable{privateStringid;privateStringname;privateStringdescription;publicStringgetId(){returnid;}publicvoidsetId(Stringid){this.id=id; 第7页共9页机密–未经允许不得扩散}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringgetDescription()

6、{returndescription;}publicvoidsetDescription(Stringdescription){this.description=description;}}1.1定义接口publicinterfaceSaleServiceextendsSerializable{publicListgetInfos();publicInfogetInfo(Stringid);publicvoidsaveOrUpdateInfo(Infoinfo);publicvoiddeleteInf

7、o(Stringid);}1.2实现类接口的实现,就此省略。2开发RESTful风格WebService服务端2.1定义资源(定义DTO)@XmlRootElement(name="Info")publicclassInfoimplementsSerializable{privateStringid;privateStringname;privateStringdescription;@XmlElement(name="ID")publicStringgetId(){returnid;}publicvoidset

8、Id(Stringid){this.id=id;}@XmlElement(name="NAME") 第7页共9页机密–未经允许不得扩散publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}@XmlElement(name="DESCRIPTION")publicStr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。