cxf restful
Restful 服务端
1 创建好pojo、dao、service, dao进行数据库操作,service提供服务
@Path("/roomservice")
@Produces("application/xml")
public class RoomService {
@GET
@Path("/room/{id}")
@Consumes("application/xml")
public Room getRoom(@PathParam("id")String id )
{
System.out.println("get room by id= "+id);
Room room=RoomDAO.getRoom(id);
return room;
}
@POST
@Path("/room")
@Consumes("application/xml")
public void addRoom(Room room)
{
...
通常需要使用注解: GET/POST/PUT/DELETE, Path, Consumes, 有参数的方法需要加上 @PathParam
2 通过JAXRSServerFactoryBean来发布服务 —— 一个类即可!
public class Server {
public static void main(String[] args) {
RoomService service = new RoomService();
// Service instance
JAXRSServerFactoryBean restServer = new JAXRSServerFactoryBean();
restServer.setResourceClasses(Room.class,Person.class,Room.class);
restServer.setServiceBean(service);
restServer.setAddress("http://localhost:9999/");
restServer.create();
}
}
restful 客户端
使用一个类即可:org.apache.cxf.jaxrs.client.WebClient ! 非常方便
public class Client {
static WebClient client;
public static void main(String[] args) {
client = WebClient.create("http://localhost:9999/");
put();
}
static void get() {
Room room = client.path("roomservice/room/001")
.accept("application/xml").get(Room.class);
System.out.println("get the room which id is:" + room.getId());
}
static void post() {
Room room = new Room();
room.setId("");
client.path("roomservice/room").accept("application/xml")
.post(room, Room.class);
}
static void delete() {
client.path("roomservice/room/002").accept("application/xml").delete();
}
static void put() {
Room room = new Room();
room.setId("");
client.path("roomservice/room/003").accept("application/xml").put(room);
}
}
总结:
服务端开发:
1 创建web项目
2 写好接口、实现类
3 通过与spring集成或者直接发布、或者启动server类
客户端开发:
1 根据服务器发布的服务,使用wsdl2java创建客户端代码stub
2 通过cxfapi访问,服务端的服务
参考
http://borissun.iteye.com/blog/765869
http://www.cnblogs.com/i-bugs/p/3755615.html
疑问:
如果是js端访问呢?
cxf restful的更多相关文章
- Apache CXF 102 CXF with REST
前言 续上篇Apache CXF 101,摘抄部分REST概念性知识,以运行实例考察CXF对REST的支持. 目录 1 REST简介 2 工具 3 运行实例 内容 本Spike记录中内容,如无特别指出 ...
- Spring整合CXF,发布RSETful 风格WebService(转)
Spring整合CXF,发布RSETful 风格WebService 这篇文章是承接之前CXF整合Spring的这个项目示例的延伸,所以有很大一部分都是一样的.关于发布CXF WebServer和Sp ...
- Spring整合CXF,发布RSETful 风格WebService
原文地址:http://www.cnblogs.com/hoojo/archive/2012/07/23/2605219.html 这篇文章是承接之前CXF整合Spring的这个项目示例的延伸,所以有 ...
- Maven + Apache Felix + CXF + DOSGi series
This is a blog series on how to combine Maven + Apache Felix + CXF + DOSGi. The information presente ...
- spring boot 项目搭建时,各个依赖的作用
项目搭建页面 https://start.spring.io/ 各个依赖的作用 List of dependencies for Spring Boot 2.1.5.RELEASE Core DevT ...
- cxf spring restful 问题解决(jar包冲突)
SEVERE: Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error ...
- 用cxf开发restful风格的WebService
我们都知道cxf还可以开发restful风格的webService,下面是利用maven+spring4+cxf搭建webService服务端和客户端Demo 1.pom.xml <projec ...
- 【转】基于CXF Java 搭建Web Service (Restful Web Service与基于SOAP的Web Service混合方案)
转载:http://www.cnblogs.com/windwithlife/archive/2013/03/03/2942157.html 一,选择一个合适的,Web开发环境: 我选择的是Eclip ...
- cxf开发Restful Web Services
一.restful web services rest全称是Representation State Transfer(表述性状态转移).它是一种软件架构风格,只是提供了一组设计原则和约束条件.在re ...
随机推荐
- C++面试中关于sizeof问题总结
原文:http://blog.sina.com.cn/s/blog_7c983ca60100yfdv.html#SinaEditor_Temp_FontName (1) sizeof是操作符 ...
- js读写Cookie问题(Cookie存储时长、Cookie存储域)汇总
在采集网站用户行为数据/使用js对用户行为做交互时,经常会使用到Cookie,了解Js Cookie的读写,以及一些细节,非常重要. 什么是Cookie 所谓Cookie,只是一条极为短小的信息, ...
- 【转载】Adapter用法总结大全
下面的是看到的比较好的地址: Android各种Adapter的用法: http://my.oschina.net/u/658933/blog/372151 Andro ...
- 第三章 文件IO复习
open(const char * path, int flag.../*mode_t*/) #include <fcntl.h> path:绝对路径 flag:O_RDONL ...
- Codeforces Zip-line 650D 345Div1D(LIS)
传送门 大意:给出一个序列,求修改一个数过后的最长上升子序列. 思路:可以用主席树在线搞,也可以用树状数组离线搞,明显后者好写得多.我们首先读取所有的询问,然后就把询问绑在给出的位置,然后我们正向做一 ...
- arrayLiist的四种遍历方法
package com.test; import java.util.ArrayList;import java.util.Iterator;import java.util.List; public ...
- rabbitmq安装
1.从源码安装最新的otperlang17,版本(otp_src_17.1.tar.gz): ./configure make make install 2.有可能要安装 和simplebean ...
- git 证书错误
git clone https://github.com/openstack-dev/devstack.git Cloning into 'devstack'... error: server cer ...
- WCF服务配置问题
上一篇中,我们主要是使用了代码来实现服务的自我寄宿.代码的实现稍微复杂些,不过还有些使用配置文件和配置工具的方法.下面来一一介绍下. 1.配置文件.首先在Host下添加个app.confi ...
- Java学习笔记(五)
作业1:将指定目录下的所有文件显示到列表框(JList)组件中. 代码如下: import java.awt.; import java.awt.event.; import javax.swing. ...