<b>java端RESTful web services的几种实现办法</b>[Java编程]
本文“<b>java端RESTful web services的几种实现办法</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1) 操纵JAX-WS的Dispatch/Provider对
在JAX-WS中,我们可以跳过SOAP栈的处理,直接调用Service Endpoint,这样我们便可以传输POX(Raw xml)大概JSON给Service Endpoint处理,并可以通过MessageContext拿到HTTP method,从而举行判断,调用差别的逻辑.需求注意的是将Endpoint的@WebService替换成@WebServiceProvider,需求实现Provider<Source>接口.接着将BindingType改成(value = HTTPBinding.HTTP_BINDING) ,表明直接处理的是HTTP,而不是SOAP.
Dispatch和Provider辨别对应于客户端和服务端,他们当然是可以脱离利用的.
Provider脱离Dispatch
Get和Delete不需求通过HTTP body,本身就支持肆意client
通过HTTP Header传post和put的内容,支持肆意client
通过HTTP body传Post和Put的内容,需求模拟Dispatch传的HTTP body格局
Dispatch脱离Provider
自己生成SOAP包,服务端可以是SOAP-based web service
2) RESTful HTTPServlets
所谓万变不离此中,REST本身就是HTTP的架构,我们可以直接通过HTTP servlet操控HTTP Request和Response,并且HTTP servlet本身就供应了doGet doPost doPut doDelete doHeader, doOptions办法,通太重写这些办法,我们可以实现基于HTTP servlet的RESTful web services
3) JAX-RS
JAX-RS(JSR 311,Java API for XML-RESTful Web Services)是基于annotation的实现方法,我们通过annotation的方法把一个java class标注成RESTful web service,并把它的办法标注成HTTP的CRUD.相关的annotation有@path, @Produces,@GET, @POST, @DELETE, @PUT, @PathParam等,
目前已经有很多现成的实现,比方Jersey, Apache CXF, JBoss RESTEasy, Apache Wink. Triaxrs等
4) 其他的一些framework
还有一些其他的第三方的framework,可以便利我们公布RESTful web services,编写web client,比方Restlet
5) Container支持
有些Container也供应了一些Utility工具,可以将Java Class公布成RESTful web services.不过OC4J1013的那个太假了,
以上是“<b>java端RESTful web services的几种实现办法</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |