- 浏览: 694182 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 1057在web开发当前就会遇到一些数据有效性验证的相关代码编 ... -
新浪多图片显示兼容IE
2015-04-16 22:12 540新浪多图片显示、写死我了!要一个上传多图片的、成果分享给你 ... -
Jconp-在线截图-ie6,7,8,9.ff-ok版测试通过
2013-12-26 09:00 799------- http://www.zha ... -
Angularjs构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入
2013-04-26 17:27 12371使用Angularjs 优点: 构建一个CRUD应用可 ... -
spring mvc rest 小例子
2012-05-24 15:35 1792http://localhost:8080/mainrest/ ... -
网页自动 追加
2012-01-06 10:15 862自动追加就是滚动条接到窗口最底部时,进行异步加载数据追加到后面 ... -
ckedit 替换表情
2011-12-01 12:46 1082http://blog.csdn.net/zh ... -
分享、工具,JiaThis
2011-10-21 11:17 1100先感谢一下jiathis 什么我也不说,你一看,,你就懂了! ... -
CXF Spring Hello简单实例
2011-09-06 17:45 10941、首先下载 http://people.apache.org ... -
aop svn
2010-11-30 08:31 960aop http://student.csdn.net/sp ... -
html 开头设计、、css
2010-10-20 15:25 812/* 主页css */ *{margin:0px; padd ... -
javascript添加当前页到收藏夹
2010-10-20 14:14 880external.AddFavorite( "htt ... -
js中如何定义class 工厂方式 构造函数方式 原型方式 动态原型方式 混合工厂方式
2010-10-20 12:28 1226工厂方式 function Car(){ va ... -
在一个htm页面中导入在同一目录下的“StyleSheet1.css”样式表
2010-10-20 11:26 1772<style>@import StyleSheet ... -
在HTML中,实现每隔60秒自动刷新页面的功能
2010-10-20 11:21 3361设置html 头 <meta http-equiv=& ... -
可以调用HTTP请求类的open()和send()方法
2010-10-20 10:54 1620xmlhttp_request.open('GET', URL ... -
为了兼容多种不同版本的浏览器,一般将创建XMLHttpRequest类的方法
2010-10-20 10:45 1607var xmlhttp;//全局使用 //除了IE6及其 ... -
JavaScript类继承
2010-10-18 20:43 0类之间的继承关系是现实世界中遗传关系的直接模拟,它表示类之间的 ... -
JavaScript反射机制
2010-10-18 19:38 1995反射机制是指程序在运行期间能够获取自身的信息,例如一个对象能够 ... -
自定义JavaScript对象
2010-10-18 19:32 954<script type="text/java ...
相关推荐
Learn how to design and develop distributed web services in Java using RESTful architectural principals and the JAX-RS specification in Java EE 6. With this hands-on reference, you'll focus on ...
Learn how to design and develop distributed web services in Java, using RESTful architectural principles and the JAX-RS 2.0 specification in Java EE 7. By focusing on implementation rather than theory...
JAX-RS(JSR 311)指的是Java API for RESTful Web Services,Roy Fielding也参与了JAX-RS的制订,他在自己的博士论文中定义了REST。对于那些想要构建RESTful Web Services的开发者来说,JAX-RS给出了不同于JAX-WS...
使用Eclipse开发基于SpringBoot+JAX-RS的Restful服务.docx使用Eclipse开发基于SpringBoot+JAX-RS的Restful服务.docx使用Eclipse开发基于SpringBoot+JAX-RS的Restful服务.docx使用Eclipse开发基于SpringBoot+JAX-RS的...
REST JAX-RS CXF Spring 最佳实践模板。 描述 从非持久内存数据存储中添加、检索和删除存储的示例应用程序。 PUT - 使用客户端提供的 ID 添加或更新存储 GET - 获取商店 DELETE - 删除存储 特征 多模块maven项目 ...
在ssh架构中加入webservice服务,web服务使用Apache CXF,采用cxf+spring的方式发布web服务
javax.xml.ws.Service 报错需要的包,亲测可以用,直接下载在ide里buildpath一下就可以,四个jar包 ,整合了其他的jar所以配置简单
JAX-RS+spring
使用到的外部jar包有(必须的部分,需要加到Web容器中) •neethi-3.0.2.jar •jsr311-api-1.1.1.jar •cxf-bundle-2.6.0.jar 使用到的外部jar包有(可选的部分,当且仅当作为一个独立的application运行时) ...
JAX-RS REST helloworld 项目源码 下载后引入eclipse jee 启动tomcat可直接访问 访问路径为http://localhost:8080/AndroidJAX-RS/jaxrs/helloworld/html
RESTful Web 服务提供了一些优势:简单、轻量级、快速。RESTful Web 服务公开了一组由 URI 标识的资源。资源将根据 HTTP 方法 GET、POST、PUT 和 DELETE 作出响应。资源可通过各种形式访问,如 HTML、普通文本、XML...
jax-rs 2.1规范最终版,英文原版。jax-rs规范定义了java平台Rest调用风格的WebService接口。
JavaWeb服务SOAP(jax-ws)和REST(jax-rs)规范,CXF整合Spring和未整合Spring的简单例子。结合说明看,简单易懂:my.oschina.net/lock0818/blog/314120
赠送jar包:cxf-rt-frontend-jaxrs-3.0.1.jar; 赠送原API文档:cxf-rt-frontend-jaxrs-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-frontend-jaxrs-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-frontend-jaxrs...
JAX-RS Rest RestLet项目源码 对初学者有帮助 实现最简单的 GET PUT DELETE UPDATE
将 Apache CXF 和 JAX-RS 用于 REST-ful Web 服务的简单示例。 只是一个闲逛的地方,用于对 Kuali Rice 团队进行一些培训和讨论。 运行项目 您可以从命令行(如果安装了 Maven)或从 IDE 启动应用程序。 要使用 ...
web service rest(jax-rs)整合完整的Jax-rs组件包,内含2个版本,分别是1.0和1.4版本。
JAX-RS-messanger-服务 使用JAX-RS的消息传递REST服务