- 浏览: 707121 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (260)
- web 开发 (44)
- struts (14)
- java (39)
- 我的感受 (2)
- ajax (2)
- spring (22)
- Hibernate (4)
- struts2 (1)
- java 面试题 (1)
- 英语 学习类 (2)
- jdk1.6特性 (1)
- extjs (13)
- oracle (3)
- JQuery (3)
- ┠ 『Spring 3.0』 ┨ (1)
- 『LOG4J』 (2)
- 『常用数据』 (1)
- JavaMail (0)
- 〓『 EJB3.0 』〓 (0)
- HTML5 (5)
- Canvas (0)
- spring2.5 (0)
- HPH 5 (1)
- C# .net (0)
- UML (1)
- REST (2)
- JS_validate (1)
- 项目管理文章 (1)
- 闲聊闲记 (12)
- SQL-SQL (3)
- javascript (18)
- js (4)
- linux (8)
- 电子政务 (1)
- 项目对象模型 (1)
- 系统集成项目管理 (1)
- shell (2)
- mysql (1)
- solr (5)
- cxf;services (2)
- 11 (0)
- 缓存 (1)
- cached (3)
- 单片机通信 (1)
- cached;oscache (1)
- android (15)
- android;蓝牙 (1)
- Lucene (5)
- TTS (1)
- 网络爬虫 (1)
- HtmlCleaner (1)
- iPhone (2)
- 有感而发 (1)
- Python (0)
- jetty (1)
- Redis (1)
- hadoop (1)
- socket (1)
- 色彩顾问 (1)
- javaapns (1)
- bat (1)
- object-c (4)
- ios (4)
- C-学习 (1)
- 搜索 (1)
- c# (1)
最新评论
-
annie211:
Angularjs构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入 -
潇寒听竹:
你好,请问您上传的那个APK为什么每次只能识别一次,不能连续识 ...
pocketsphinxAdroid离线语音识别---入门 -
ichenwenjin:
Angularjs构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入 -
NN_iaoiao:
问一下 你的这个People 类 是自定义的还是android ...
android 获取电话本中的联系人列表 -
wangzhe_real:
对于刚接触的我是一个很详细的教程,太感谢了
JAX-RS cxf web服务 rest简单增删改查 集成spring webService
没时间什么也不多说了。所有的话都在代码里。
一、第一步,首先下载cxf 开发文档
官方地址:http://cxf.apache.org/download.html 去下载一个最新了。
二、本地解压,里面有一个lib。建一个web项目把 jar 拷进去,就开始开工了。
三、打开web.xml 加入服务启动置配
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/beans.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
四、在WEB-INF/beans.xml spring文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxrs:server id="studentServiceRs" address="/studentService">
<jaxrs:extensionMappings>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</jaxrs:extensionMappings>
<jaxrs:serviceBeans>
<ref bean="studentService" />
</jaxrs:serviceBeans>
<jaxrs:inInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean>
</jaxrs:inInterceptors>
<jaxrs:outInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"></bean>
</jaxrs:outInterceptors>
</jaxrs:server>
<bean id="studentService" class="com.student.web.service.impl.StudentServiceImpl" />
</beans>
五、创建你的dto ResultDt.java
package com.student.web.dto;
import java.util.List;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "root")
public class ResultDto {
public Integer totalCount;//总记录数
public Integer totalPage;//总页数
public List<StudentDto> students;//学生列表
public String returncode;//反回状态码
}
StudentDto.java
package com.student.web.dto;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="Student")
public class StudentDto {
private Long id;
private String name;
private Integer age;
private Long scroe;
private String address;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Long getScroe() {
return scroe;
}
public void setScroe(Long scroe) {
this.scroe = scroe;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
六、创建你的service 服务接口和实现类
IStudentService.java
package com.student.web.service;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import com.student.web.dto.ResultDto;
import com.student.web.dto.StudentDto;
@Path(value="/")
public interface IStudentService {
/**
* 获取一页学生列表
* @param page
* @param limit
* @return
*/
@GET
@Path(value="/getStudentPage/{page}/{limit}")
ResultDto getStudentPage(@PathParam("page") int page,@PathParam("limit") int limit);
/**
* 得到一个学生
* @param id
* @return
*/
@GET
@Path(value="/getStudentById/{id}")
ResultDto getStudentById(@PathParam("id") long id);
/**
* 删除一个学生
* @param id
* @return
*/
@GET
@Path(value="/deleteDeleteStudentById/{id}")
ResultDto deleteDeleteStudentById(@PathParam("id") long id);
/**
* 添加一个学生
* @param student
* @return
*/
@GET
@Path(value="/addStudent/{name}/{age}/{scroe}/{address}")
ResultDto addStudent(@PathParam("")StudentDto student);
}
StudentServiceImpl.java
package com.student.web.service.impl;
import java.util.ArrayList;
import java.util.List;
import com.student.web.dto.ResultDto;
import com.student.web.dto.StudentDto;
import com.student.web.service.IStudentService;
public class StudentServiceImpl implements IStudentService {
@Override
public ResultDto getStudentPage(int page, int limit) {
ResultDto result = new ResultDto();
List<StudentDto> students=new ArrayList<StudentDto>();
StudentDto s1=new StudentDto();
s1.setId(1l);
s1.setName("leiwuluan");
s1.setAddress("北京市东城区");
s1.setAge(22);
s1.setScroe(100l);
students.add(s1);
s1=new StudentDto();
s1.setId(1l);
s1.setName("leiwuluan");
s1.setAddress("北京市东城区");
s1.setAge(22);
s1.setScroe(100l);
students.add(s1);
s1=new StudentDto();
s1.setId(1l);
s1.setName("leiwuluan");
s1.setAddress("北京市东城区");
s1.setAge(22);
s1.setScroe(100l);
students.add(s1);
s1=new StudentDto();
s1.setId(1l);
s1.setName("leiwuluan");
s1.setAddress("北京市东城区");
s1.setAge(22);
s1.setScroe(100l);
students.add(s1);
s1=new StudentDto();
s1.setId(1l);
s1.setName("leiwuluan");
s1.setAddress("北京市东城区");
s1.setAge(22);
s1.setScroe(100l);
students.add(s1);
s1=new StudentDto();
s1.setId(1l);
s1.setName("leiwuluan");
s1.setAddress("北京市东城区");
s1.setAge(22);
s1.setScroe(100l);
students.add(s1);
result.students=students;
result.totalCount=100;
result.totalPage=12;
result.returncode="success";
return result;
}
@Override
public ResultDto getStudentById(long id) {
ResultDto result = new ResultDto();
List<StudentDto> students=new ArrayList<StudentDto>();
StudentDto s1=new StudentDto();
s1.setId(1l);
s1.setName("leiwuluan");
s1.setAddress("北京市东城区");
s1.setAge(22);
s1.setScroe(100l);
students.add(s1);
result.students=students;
result.returncode="success";
return result;
}
@Override
public ResultDto deleteDeleteStudentById(long id) {
ResultDto result = new ResultDto();
result.returncode="success";
return result;
}
@Override
public ResultDto addStudent(StudentDto student) {
ResultDto result = new ResultDto();
System.out.println("Address:"+student.getAddress()+",Name:"+student.getName()+",ID:"+student.getId());
result.returncode="success";
return result;
}
}
七、启动服务
用浏览器访问:http://localhost:8080/Student_RS/rest/studentService/getStudentPage/1/3.xml
显示结果如下:
上面只是一个简单了rest 服务。
如果有兴趣,或刚入门可以看看 李海峰 :《JAVA的WebService支持.pdf》
dome项目 Student_RS.rar
- JAVA的WebService支持.pdf (1.2 MB)
- 下载次数: 239
- JAX-RS.rar (8.2 KB)
- 下载次数: 130
- JAX-WS.rar (16.4 KB)
- 下载次数: 72
- JAX-WS-WEB.rar (21.5 KB)
- 下载次数: 86
- Student_RS.rar (7.5 KB)
- 下载次数: 191
发表评论
-
Java 数据验证
2017-05-12 10:27 1102在web开发当前就会遇到一些数据有效性验证的相关代码编 ... -
新浪多图片显示兼容IE
2015-04-16 22:12 600新浪多图片显示、写死我了!要一个上传多图片的、成果分享给你 ... -
Jconp-在线截图-ie6,7,8,9.ff-ok版测试通过
2013-12-26 09:00 948------- http://www.zha ... -
Angularjs构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入
2013-04-26 17:27 12412使用Angularjs 优点: 构建一个CRUD应用可 ... -
spring mvc rest 小例子
2012-05-24 15:35 1838http://localhost:8080/mainrest/ ... -
网页自动 追加
2012-01-06 10:15 905自动追加就是滚动条接到窗口最底部时,进行异步加载数据追加到后面 ... -
ckedit 替换表情
2011-12-01 12:46 1120http://blog.csdn.net/zh ... -
分享、工具,JiaThis
2011-10-21 11:17 1174先感谢一下jiathis 什么我也不说,你一看,,你就懂了! ... -
CXF Spring Hello简单实例
2011-09-06 17:45 11471、首先下载 http://people.apache.org ... -
aop svn
2010-11-30 08:31 1015aop http://student.csdn.net/sp ... -
html 开头设计、、css
2010-10-20 15:25 851/* 主页css */ *{margin:0px; padd ... -
javascript添加当前页到收藏夹
2010-10-20 14:14 930external.AddFavorite( "htt ... -
js中如何定义class 工厂方式 构造函数方式 原型方式 动态原型方式 混合工厂方式
2010-10-20 12:28 1264工厂方式 function Car(){ va ... -
在一个htm页面中导入在同一目录下的“StyleSheet1.css”样式表
2010-10-20 11:26 1808<style>@import StyleSheet ... -
在HTML中,实现每隔60秒自动刷新页面的功能
2010-10-20 11:21 3430设置html 头 <meta http-equiv=& ... -
可以调用HTTP请求类的open()和send()方法
2010-10-20 10:54 1756xmlhttp_request.open('GET', URL ... -
为了兼容多种不同版本的浏览器,一般将创建XMLHttpRequest类的方法
2010-10-20 10:45 1644var xmlhttp;//全局使用 //除了IE6及其 ... -
JavaScript类继承
2010-10-18 20:43 0类之间的继承关系是现实世界中遗传关系的直接模拟,它表示类之间的 ... -
JavaScript反射机制
2010-10-18 19:38 2039反射机制是指程序在运行期间能够获取自身的信息,例如一个对象能够 ... -
自定义JavaScript对象
2010-10-18 19:32 1007<script type="text/java ...
相关推荐
Java Web服务,特别是JAX-RS(Java API for RESTful Web Services)和Apache CXF,是企业级应用程序中实现服务接口的重要技术。本教程将深入探讨如何在SSH(Spring、Struts、Hibernate)架构中集成Web服务,以及如何...
【标题】"webservice-cxf-spring-jar.zip" 是一个包含了使用Apache CXF与Spring框架集成开发Web服务的Java库集合。这个压缩包提供了一整套必要的JAR文件,以便于开发者在他们的项目中快速搭建和运行基于CXF的Web服务...
- JAX-RS:JAX-RS(Java API for RESTful Web Services)是用于开发REST(Representational State Transfer)风格的WebService规范,适合于基于HTTP的方法进行操作。 3. CXF框架集成: - Apache CXF是一个开源...
- `cxf-rt-frontend-jaxrs.jar`:JAX-RS前端模块,用于RESTful服务的开发。 - `cxf-rt-transports-http.jar`和`cxf-rt-transports-http-hc.jar`:HTTP和HTTP客户端传输模块。 - `cxf-rt-ws-security.jar`:WS-...
【Spring CXF REST Demo】项目是一个使用Maven构建的Java应用程序,它展示了如何将Spring框架与Apache CXF集成,以创建RESTful风格的服务。在这个项目中,开发者可以学习到如何利用CXF作为服务端的REST服务提供者,...
总之,Apache CXF 2.3.5 版本是一个强大的 Web 服务框架,提供了广泛的 SOAP 和 REST 支持,以及丰富的数据绑定、安全和集成选项。通过这个版本,开发者可以构建健壮、可扩展的网络服务,实现不同系统间的无缝通信。
CXF同样支持REST服务的开发,你可以使用JAX-RS(Java API for RESTful Web Services)规范来实现。例如,通过使用@Path、@GET、@POST等注解,你可以指定资源路径、HTTP方法以及处理这些请求的方法。 为了将CXF与...
它不仅支持JAX-WS规范,还支持JAX-RS(Java API for RESTful Web Services),这使其能够同时满足传统SOAP服务和现代RESTful服务的需求。 CXF的核心组件是`org.apache.cxf.Bus`,它类似Spring的`ApplicationContext...
3. **Spring与CXF集成**:通过Spring的`<jaxws:endpoint>`或`<jaxrs:server>`标签,我们可以将CXF服务端点声明式地配置在Spring XML配置文件中,从而实现服务的发布。这种方式避免了手动编写CXF的配置文件,使得配置...
在IT行业中,CXF是一个广泛使用的开源框架,用于构建和开发Web服务。它不仅支持SOAP协议,还支持RESTful风格的API。而Spring框架则是一个全面的企业级应用开发框架,两者结合可以创建强大的、灵活的Java应用程序。本...
【标题】:使用CXF发布REST服务 在Java开发中,Apache CXF是一个广泛使用的开源框架,用于构建和部署Web服务。本教程将详细介绍如何利用CXF 2.3.3版本来发布RESTful服务,并在客户端进行调用。首先,我们需要理解...
- 通过Spring的`<jaxws:endpoint>`或`<jaxrs:server>`标签可以方便地声明CXF服务。 6. **调试与日志**: CXF提供了丰富的日志信息,通过配置log4j或logback,可以帮助开发者跟踪服务运行状态和错误。 总结来说,...
CXF提供了两种主要的Web服务实现方式:JAX-WS(Java API for XML Web Services)和JAX-RS(Java API for RESTful Web Services)。JAX-WS主要用于构建传统的SOAP(Simple Object Access Protocol)服务,而JAX-RS则...
本教程旨在深入探讨如何使用CXF框架开发WebService,同时涵盖了多种与WebService相关的技术规范,包括但不限于JAX-WS、JAX-RS、JAX-RPC、JAXM、SAAJ以及MTOM等。通过本教程的学习,读者不仅能够了解这些技术的基本...
3. **集成CXF和Spring**:在Spring中集成CXF,通常会使用Spring的`<jaxws:service>`或`<jaxrs:server>`标签来声明和配置Web服务。这样,服务实例的创建和管理都交给了Spring容器,同时还能利用Spring的其他功能,如...
在本文中,我们将探讨如何将Spring与Apache CXF框架整合,以发布RESTful风格的Web服务。RESTful Web服务是一种轻量级的架构风格,它基于HTTP协议,使用URI(Uniform Resource Identifier)来定位资源,通过HTTP方法...
当我们将两者结合时,可以利用Spring的管理能力来轻松地集成和部署CXF Web服务。下面将详细阐述如何在Spring环境中整合CXF开发Web Service,并介绍所需的关键jar包。 首先,我们需要理解Spring与CXF整合的基础。...
JAX-RS则是针对REST风格Web服务的规范,它的推出较晚,但为RESTful架构提供了丰富的API支持。JAX-RS的API位于javax.ws.rs.*包,需要从JCP单独下载。Apache CXF提供了这两种规范的实现,CXF的中心组件是Bus,它类似于...
Apache CXF是一个用于构建和部署Web服务的框架,支持多种协议,如SOAP、REST、XML/HTTP和JAX-RS。CXF提供了多种工具和服务,包括WSDL(Web服务描述语言)到Java代码的生成、客户端和服务器端的Stubs、以及WS-...