• 第一步,创建工程并导入cxf jar包。
  • 第二步,编写pojo。
package com.scut.pojo;import java.util.Date;import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;@XmlRootElement(name="student")
public class Student {@XmlElementpublic int id;@XmlElementpublic String name;@XmlElementpublic Date birthday;@XmlTransientpublic int getId() {return id;}public void setId(int id) {this.id = id;}@XmlTransientpublic String getName() {return name;}public void setName(String name) {this.name = name;}@XmlTransientpublic Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}}
  • 第三步,编写SEI和实现类
package com.scut.dao;import java.util.List;import javax.jws.WebService;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;import com.scut.pojo.Student;@WebService
@Path("/student")
public interface StudentService {@Path("/query/{id}")@GET@Produces(MediaType.APPLICATION_XML)public Student queryStudent(@PathParam("id") int id);@GET@Path("/querylist/{type}")@Produces(MediaType.APPLICATION_JSON)public List<Student> queryStudentList(@PathParam("type") String type);
}
package com.scut.dao.impl;import java.util.ArrayList;
import java.util.Date;
import java.util.List;import com.scut.dao.StudentService;
import com.scut.pojo.Student;public class StudentServiceImpl implements StudentService{public Student queryStudent(int id) {Student s=new Student();s.setBirthday(new Date());s.setId(001);s.setName("yj");return s;}public List<Student> queryStudentList(String type) {List<Student>list=new ArrayList<Student>();Student s2=new Student();s2.setBirthday(new Date());s2.setId(001);s2.setName("jy");Student s1=new Student();s1.setBirthday(new Date());s1.setId(002);s1.setName("jq");list.add(s1);list.add(s2);return list;}}
  • 第四步,发布服务
package com.scut.server;import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;import com.scut.dao.impl.StudentServiceImpl;public class StudentServer {
public static void main(String[] args) {JAXRSServerFactoryBean jaxrsServerFactoryBean=new JAXRSServerFactoryBean();jaxrsServerFactoryBean.setAddress("http://127.0.0.1:12345/rest");jaxrsServerFactoryBean.setServiceBean(new StudentServiceImpl());jaxrsServerFactoryBean.setResourceClasses(StudentServiceImpl.class);jaxrsServerFactoryBean.create();
}
}

需要设置servicebean,address和ResourseClass
- 第五步,浏览器上验证服务是否开启

cxf发布rest风格的webService相关推荐

  1. 使用Apache CXF开发REST风格的WebService

    使用Apache CXF开发REST风格的WebService REST的概述: REST(表现层状态转化),是一种新的软件架构风格,它以资源为核心,使用http,url,xml以及html等流行协议 ...

  2. 用cxf开发restful风格的WebService

    我们都知道cxf还可以开发restful风格的webService,下面是利用maven+spring4+cxf搭建webService服务端和客户端Demo 1.pom.xml <projec ...

  3. cxf 发布 一个简单的 webservice

    一个 简单的 cxf 发布webservice的例子 ,希望能对你有所帮助. 1,开发环境   eclipse   jdk 1.7   apache-cxf-3.1.6 2,开发步骤 1).  导入c ...

  4. spring整合cxf开发rest风格的webservice接口(客户端服务端)

    前面文章记录了在spring中如何整合cxf开发webservice客户端和服务端,其实,相较于原生开发方式,已经有了不少优化.rest风格的开发,作为一种极为流行的开发规范,可以帮助我们更加简洁高效 ...

  5. Spring整合CXF,发布RSETful 风格WebService

    这篇文章是承接之前CXF整合Spring的这个项目示例的延伸,所以有很大一部分都是一样的.关于发布CXF WebServer和Spring整合CXF这里就不再多加赘述了.如果你对Spring整合CXF ...

  6. CXF发布RestFul WebService和SOAP WebService

    CXF发布RestFul WebService和SOAP WebService Apache CXF可以发布多种协议的WebService,Spring支持整合cxf到项目中,可以简化后台构架,以下是 ...

  7. CXF发布restful WebService的入门例子(服务器端)

    研究了两天CXF对restful的支持.    现在,想实现一个以  http://localhost:9999/roomservice 为入口,  http://localhost:9999/roo ...

  8. java - springmvc整合cxf发布webservice

    1.jar包已上传百度云盘,在jar包目录下 2.web.xml配置 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst ...

  9. spring boot整合cxf发布和调用webservice

    一.前言 说起web service最近几年restful大行其道,大有取代传统soap web service的趋势,但是一些特有或相对老旧的系统依然使用了传统的soap web service,例 ...

最新文章

  1. $\be$-QGE 的弱强唯一性
  2. 4.1 Tensorflow:卷积函数
  3. 如何克服孤独和焦虑?How to overcome loneliness and anxiety?
  4. 正则表达式真的很骚,可惜你不会写
  5. 复习Linux基础操作---权限操作
  6. 深度学习之优化详解:batch normalization
  7. php 输出 jsonp
  8. Bootstrap 分页导航中的翻页组件
  9. 使用Shell和Java驱动程序的MongoDB身份验证配置示例
  10. vi 快捷方式 手册
  11. 什么是操作系统啊 | 战术后仰
  12. 烧结钕铁硼的居里温度与工作温度
  13. matlab求解一元函数积分,matlab实现一元函数积分
  14. Mirai僵尸网络介绍以及源码
  15. gsoap linux中文乱码,gsoap中文乱码及内存清理等问题的解决方案
  16. 三位数码管电路设计实验
  17. linux shell ifs,shell - IFS分隔符
  18. uml建模外卖订餐系统
  19. 随机算法java实现(同生日问题以及扑克牌24数问题)
  20. Unity_Shader中级篇_10_Unity Shader入门精要

热门文章

  1. 手把手教你玩转SOCKET模型:完成例程(Completion Routine)篇
  2. vc中ASSERT()和VERIFY()区别
  3. Ansible:Ansibl项目生产环境快速布局
  4. 写一个 panic blame 机器人
  5. MySQL高级之查询优化(索引失效)
  6. Linux中的基础IO(一)
  7. 与WebXR共同创建者Diego Marcos一起探讨沉浸式Web的未来(下)
  8. 腾讯视频P2P带宽节省率持续提升之路
  9. 网易易盾李雨珂:服务性能+算法确定性优化,迎接5G时代内容安全爆发式流量增长...
  10. 【大会】编码、画质评价与网络协议的未来