- 浏览: 596294 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
1. 首先是实体类,注意其中的@XmlRootElement注解
2. RESTful Web Service接口类,可以通过修改@Produces注解来声明暴露接口返回的json还是xml数据格式
3. RESTful Web Service接口实现类
4. Server端代码
5. Client端代码
6.测试
首先运行MyServer类,然后运行MyClient类来验证Web Service。
转自:http://blog.csdn.net/kongxx/article/details/7527115
package com.googlecode.garbagecan.cxfstudy.jaxrs; import java.util.Date; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name="Customer") public class Customer { private String id; private String name; private Date birthday; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } @Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this); } }
2. RESTful Web Service接口类,可以通过修改@Produces注解来声明暴露接口返回的json还是xml数据格式
package com.googlecode.garbagecan.cxfstudy.jaxrs; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; @Path(value = "/customer") @Produces("*/*") //@Produces("application/xml") //@Produces("application/json") public interface CustomerService { @GET @Path(value = "/{id}/info") Customer findCustomerById(@PathParam("id")String id); @GET @Path(value = "/search") Customer findCustomerByName(@QueryParam("name")String name); }
3. RESTful Web Service接口实现类
package com.googlecode.garbagecan.cxfstudy.jaxrs; import java.util.Calendar; public class CustomerServiceImpl implements CustomerService { public Customer findCustomerById(String id) { Customer customer = new Customer(); customer.setId(id); customer.setName(id); customer.setBirthday(Calendar.getInstance().getTime()); return customer; } public Customer findCustomerByName(String name) { Customer customer = new Customer(); customer.setId(name); customer.setName(name); customer.setBirthday(Calendar.getInstance().getTime()); return customer; } }
4. Server端代码
package com.googlecode.garbagecan.cxfstudy.jaxrs; import org.apache.cxf.interceptor.LoggingInInterceptor; import org.apache.cxf.interceptor.LoggingOutInterceptor; import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; public class MyServer { public static void main(String[] args) throws Exception { JAXRSServerFactoryBean factoryBean = new JAXRSServerFactoryBean(); factoryBean.getInInterceptors().add(new LoggingInInterceptor()); factoryBean.getOutInterceptors().add(new LoggingOutInterceptor()); factoryBean.setResourceClasses(CustomerServiceImpl.class); factoryBean.setAddress("http://localhost:9000/ws/jaxrs"); factoryBean.create(); } }
5. Client端代码
package com.googlecode.garbagecan.cxfstudy.jaxrs; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.GetMethod; public class MyClient { public static void main(String[] args) throws Exception { go("http://localhost:9000/ws/jaxrs/customer/1/info"); go("http://localhost:9000/ws/jaxrs/customer/search?name=abc"); } private static void go(String url) throws Exception { HttpClient client = new HttpClient(); GetMethod method = new GetMethod(url); int statusCode = client.executeMethod(method); if (statusCode != HttpStatus.SC_OK) { System.err.println("Method failed: " + method.getStatusLine()); } byte[] responseBody = method.getResponseBody(); System.out.println(new String(responseBody)); } }
6.测试
首先运行MyServer类,然后运行MyClient类来验证Web Service。
转自:http://blog.csdn.net/kongxx/article/details/7527115
发表评论
文章已被作者锁定,不允许评论。
-
Spring BeanFactoryPostProcessor和BeanPostProcessor的区别
2018-11-14 15:40 701链接:https://blog.csdn.net/caihai ... -
spring BeanPostProcessor理解
2018-11-14 11:31 317链接:https://blog.csdn.net/ginkgo ... -
Spring 源码解析之Initializer
2018-11-14 11:27 449链接:https://blog.csdn.net/ktlife ... -
spring transaction同一个类不回滚解决方法
2018-10-11 10:59 7671.修改配置文件 <aop:aspectj-autopr ... -
Spring @Transaction学习
2018-10-08 10:36 2891.考虑有下面这么一个类 public class Foo ... -
java WeakHashMap学习(key是弱引用)
2018-06-21 09:31 1226在Java集合中有一种特殊的Map类型:WeakHashMap ... -
spring mvc i18n国际化学习(spring:message)
2018-06-09 09:35 637spring.xml文件中配置: <!-- 存储区域 ... -
java HashMap TreeMap(key顺序) LinkedHashMap(插入顺序)学习
2018-06-07 10:27 944java为数据结构中的映射定义了一个接口java.util.M ... -
html pre标签使用(保留空格和回车等操作)
2018-05-15 08:37 2438pre 元素可定义预格式化的文本。被包围在 pre 元素中的文 ... -
Spring Boot Oauth2.0授权服务器
2018-05-11 14:19 1645什么是OAuth? OAuth(Open Authoriza ... -
Spring Boot @Import注解(将指定类实例注入到IOC容器中)
2018-05-09 10:20 1594SpringBoot 的 @Import 用于将指定的类实例注 ... -
Spring Boot @Conditional注解
2018-05-09 10:15 1810Spring Boot的强大之处在于使用了Spring 4框架 ... -
Spring Boot自定义starter pom实例(/META-INFO/spring.factory文件)
2018-05-09 09:48 1129自定义starter pom 自己实现一个简单的例子,当某个类 ... -
java RESTful 详解
2018-04-27 11:35 640(1)每一个URI代表一种资源,独一无二; (2)客户端 ... -
Spring Boot自动配置原理(@Conditional @Import)
2018-04-26 14:45 1324Springboot的自动配置是SpringBoot的关键,主 ... -
java 通过HttpsUrlConnection访问接口数据
2018-04-19 11:25 981server: ssl: key-stor ... -
Spring Boot优缺点总结
2018-04-16 10:25 1532优点: 1.去除了大量的xml配置文件 2.简化 ... -
java 使用多线程的场景总结
2018-04-10 14:35 1695在一个高并发的网站中,多线程是必不可少的。下面先说一下多线程在 ... -
java Enum枚举设置
2018-04-10 10:55 476/** * 数据状态:0:无效,1:有效 **/ ... -
SpringBoot JPA @Transaction 知识学习
2018-03-16 09:09 756一、事务相关概念 1、事务的特点 原子性:事务是一个原子操 ...
相关推荐
**实战Web Service与Apache CXF开发** Web服务是一种在互联网上进行通信的标准协议,它允许应用程序之间进行数据交换。Apache CXF是一个开源框架,用于构建和部署Web服务,支持多种Web服务标准,如SOAP、RESTful ...
Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。本学习笔记旨在提供对Apache CXF的基本理解、功能特性和实际操作指导。 **1. CXF 简介** 1.1...
- **Apache CXF**:一个强大的Java框架,用于构建和消费RESTful以及SOAP-based Web服务。它支持多种协议和数据格式,包括HTTP、HTTPS、gSOAP、JSON、XML等。 - **Axis2**:另一个功能齐全的Java Web服务框架,...
Apache CXF是一个开源框架,它允许开发者构建和部署服务,支持多种Web服务规范,如SOAP、RESTful等。本文将主要关注CXF在Web Service中的应用。 首先,我们需要理解Web Service的基本概念。Web Service是一种基于...
Apache CXF是一个开源的Java框架,它允许开发者构建和部署SOAP(简单对象访问协议)和RESTful(表述性状态转移)Web服务。CXF以其灵活性、易用性和与多种标准的兼容性而闻名,是开发Web服务的首选工具之一。 ### 1....
Cfx,全称是Apache CXF,是一个开源的Java框架,专门用于构建和部署Web服务。Apache CXF 2.6.2是该框架的一个版本,它提供了丰富的功能和工具,便于开发者创建、部署和管理Web服务。 **一、Apache CXF概述** ...
Apache CXF是一个用于构建和开发Web Services的开源框架。它支持多种Web Services规范,如SOAP、RESTful API、WS-*栈等。CXF允许开发者通过Java编程模型或者基于XML的配置来创建Web Services,提供了一种简单而强大...
3. **JAX-RS (RESTful)**:Java API for RESTful Web Services(JAX-RS)是Java的标准API,用于构建RESTful Web服务。REST是一种轻量级的架构风格,强调资源和状态的转移,通常比SOAP更易于理解和实现。 4. **...
通过上述内容的学习,我们可以了解到Web Service技术的基本概念及其在Java环境中的应用,特别是Apache CXF框架如何帮助开发者快速搭建Web Service服务端。这对于从事Java软件开发的工程师来说是非常实用的知识点。...
总之,CXF框架为开发者提供了便捷的工具来构建和部署Web服务,无论是传统的SOAP接口还是现代的RESTful API。通过学习和实践,你可以轻松地掌握CXF在服务器端发布和调用接口的技术,从而提升你的SOA和微服务开发能力...
标题中的“spring2.5+ibatis3+web service cxf”揭示了这是一个关于整合Spring 2.5、iBATIS 3和Apache CXF Web服务的示例项目。这个项目是在MyEclipse环境中构建的,它是一个强大的Java集成开发环境,特别适合企业级...
首先,理解CXF(CXF: Apache CXF - A Next Generation JAXWS and JAX-RS API Implementation)是一个开源的Java框架,它用于创建和部署SOAP和RESTful Web服务。拦截器是CXF框架中的一种重要机制,它们允许我们在消息...
CXF框架是Apache组织提供的一款开源工具,专门用于构建和消费Web服务。本篇将深入探讨如何利用CXF框架在服务器端发布WebServices接口,并通过具体的实战代码来阐述这一过程。 一、CXF框架介绍 CXF全称是CXF-CXF ...
5. **XFire与CXF**:XFire在后期发展成为Apache CXF,这是一个全面的Web Service框架,不仅支持SOAP,还支持RESTful风格的服务,并且集成了WS-*标准,如WS-Security、WS-Addressing等。 6. **实战演练**:通过阅读...
通过 "实战Web Service with CXF.pps" 这个文件名猜测,可能包含的是一个 PowerPoint 演示文稿,其中可能包含了对 CXF 使用的逐步解释,包括关键概念、步骤和最佳实践。这将帮助读者更好地理解 CXF 2.1.0 的核心概念...
【标题】"cxf+spring webservice server demo"是一个基于Apache CXF和Spring框架构建的Web服务服务器端示例项目。这个项目展示了如何将CXF与Spring集成,以创建、部署和运行一个高效的Web服务。 【描述】指出,由于...
XFire是Apache CXF项目的前身,是一个流行的Java Web服务框架,用于快速构建和部署Web服务。这个PPT可能详细介绍了XFire的使用方法,包括如何配置、创建服务、调用服务以及处理异常。而DOM4J是Java中常用的XML处理库...
5. Spring MVC:如果涉及到Web应用,Spring MVC可以用来构建RESTful API,与CXF服务协同工作。 6. CXF客户端:CXF提供了生成和使用Web服务客户端的能力,使你可以轻松调用远程服务。 在实践中,你可以按照以下步骤...