- 浏览: 765156 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (208)
- Java (77)
- JavaScript (16)
- UML (1)
- Spring (24)
- Hibernate (11)
- J2EE部署 (18)
- 操作系统 (13)
- struts (11)
- jsp (3)
- J2EE (34)
- 数据库 (22)
- tomcat (4)
- apache (2)
- MyEclipse (13)
- Linux (14)
- Ext (6)
- Weblogic (2)
- 数据库 Oracle 空表导出 (1)
- Oracle (3)
- 编码 乱码 (1)
- 多线程 (5)
- jQuery (2)
- Apache Mina (1)
- ibatis (6)
- abator (1)
- svn (1)
- jvm (1)
- ERwin (2)
- mysql (2)
- ant (1)
- memcache (1)
- dubbo (1)
- PowerDesigner (1)
最新评论
-
di1984HIT:
Shallow heap & Retained heap -
tinguo002:
非常感谢 , 太棒了。
Spring注解方式,异常 'sessionFactory' or 'hibernateTemplate' is required的解决方法 -
白天看黑夜:
Apache Mina Server 2.0 中文参考手册(带 ...
Apache Mina – 简单的客户端/服务端应用示例 -
wumingxingzhe:
好文
Shallow heap & Retained heap -
di1984HIT:
学习了!!
工作流(Workflow)和BPM的不同
1. 假设我们有个服务 (都是从别处拿来的代码)
服务实现类:
返回数据包装类
普通类
Spring 服务声明
web.xml 就不贴了, 和普通的一样.
2. 访问方法有3种, 可以实现获取不同格式的内容.
http://localhost:8080/student/student/3/info2.json?name=abcss
http://localhost:8080/student/student/3/info2.xml?name=abcss
http://localhost:8080/student/student/3/info2?name=abcss&_type=xml
http://localhost:8080/student/student/3/info2?name=abcss&_type=json
还有一种办法就是在请求时设置Accept:
简单吧.... 呵呵
mport javax.ws.rs.*; import javax.ws.rs.core.Response; @Path(value = "/student/{id}") public interface StudentService { @GET @Path(value = "/info") Student getStudent(@PathParam("id") long id, @QueryParam("name") String name); @GET @Path(value = "/info2") UserResponse getStudent(@QueryParam("name") String name); }
服务实现类:
import javax.ws.rs.core.Response; import java.text.ParseException; import java.text.SimpleDateFormat; public class StudentServiceImpl implements StudentService { public Student getStudent(long id, String name) { Student s = new Student(); s.setId(id); s.setName(name); try { s.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse("1983-04-26")); } catch (ParseException e) { e.printStackTrace(); } return s; } public Response getStudent1(String name) { Student s = new Student(); s.setId(1); s.setName(name); try { s.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse("1983-04-26")); } catch (ParseException e) { e.printStackTrace(); } return Response.ok(s).build(); //return s; } public UserResponse getStudent(String name) { Student s = new Student(); s.setId(1); s.setName(name); try { s.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse("1983-04-26")); } catch (ParseException e) { e.printStackTrace(); } return new UserResponse("ok", s); }
返回数据包装类
import javax.xml.bind.annotation.*; @XmlRootElement(name = "Response") @XmlAccessorType(XmlAccessType.FIELD) public class UserResponse { private String status; private Student data; public UserResponse() { } public UserResponse(String status, Student data) { this.status = status; this.data = data; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public Object getData() { return data; } public void setData(Student data) { this.data = data; } }
普通类
import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; import java.util.Date; @XmlRootElement(name = "Student") @XmlAccessorType(XmlAccessType.FIELD) public class Student { private long id; private String name; private Date birthday; 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 Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }
Spring 服务声明
<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"/> <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/> <bean id="rsStudentServiceImpl" class="ex3.StudentServiceImpl" /> <jaxrs:server id="test" address="/student" > <jaxrs:serviceBeans> <ref bean="rsStudentServiceImpl" /> </jaxrs:serviceBeans> <!-- 这里设置了对应关系, 按理说默认就应该是这样, 你可以试试. 当然可以自定义 --> <jaxrs:extensionMappings> <entry key="json" value="application/json"/> <entry key="xml" value="application/xml"/> </jaxrs:extensionMappings> </jaxrs:server>
web.xml 就不贴了, 和普通的一样.
2. 访问方法有3种, 可以实现获取不同格式的内容.
http://localhost:8080/student/student/3/info2.json?name=abcss
http://localhost:8080/student/student/3/info2.xml?name=abcss
http://localhost:8080/student/student/3/info2?name=abcss&_type=xml
http://localhost:8080/student/student/3/info2?name=abcss&_type=json
还有一种办法就是在请求时设置Accept:
HttpGet get = new HttpGet( "http://127.0.0.1:8080/student/student/3/info2?name=Fetion"); HttpClient httpclient = new DefaultHttpClient(); get.addHeader("ACCEPT", "application/xml"); HttpResponse response = httpclient.execute(get); StatusLine st = response.getStatusLine(); InputStream ins = response.getEntity().getContent(); byte[] b = new byte[1024]; StringBuilder sb = new StringBuilder(); while (ins.read(b) != -1) { sb.append(new String(b, "UTF-8")); } System.out.println(sb.toString());
简单吧.... 呵呵
评论
4 楼
sophie_laputa
2012-05-30
请问用的是哪一个版本的cxf呢
3 楼
bjyzxxds
2012-05-23
你firebug看看刷新N次以后,获取不到参数时,页面提交的参数什么呢,然后分析原因,应该不会是webservice的问题
2 楼
zjc198805
2012-05-23
联系方式:644952013
1 楼
zjc198805
2012-05-23
LZ,为什么刷新按住N次以后请求就获取不到数据了?
发表评论
-
Eclipse,javaw 通过Proxifile代理ipv6协议问题解决
2015-03-17 18:06 2754myeclipse2010升级到myeclipse2014之后 ... -
初始化EHcache CacheManager时报java.net.UnknownHostException
2014-11-13 11:45 12466工程启动时,报一下异常: [wdfportal] [201 ... -
tomcat7可能带来的问题
2013-06-27 00:31 9491、struts标签校验更加严格,如果struts标签中存在嵌 ... -
iBatis执行insert后返回主键
2013-01-18 23:55 1614iBatis插入数据后,返回主键。级联操作很有用。省去了一次的 ... -
Shallow heap & Retained heap
2012-05-16 17:09 49018所有包含Heap Profling功能的工具(MAT, You ... -
什么是两阶段提交协议
2012-05-08 16:58 1030两阶段提交协议 实现分布式事务的关键就是两阶段提交协议。在此 ... -
Abator —— IBatis 代码生成工具
2012-04-03 18:31 18901、在eclipse安装abator插件http://ibat ... -
使用Eclipse远程调试Tomcat
2012-03-23 22:56 1472有些时候,调试不得不用外网,比如说做支付宝的支付接口,服务器后 ... -
Java compiler level does not match the version of the installed Java project fac
2012-03-02 11:32 1277问题现象:项目图标报错“Java compiler level ... -
WebService的事务处理
2012-03-01 15:03 1527如果你只是要解决两个系统之间的事务同步问题,可以采用判断服务是 ... -
线程池(java.util.concurrent.ThreadPoolExecutor)的使用
2012-02-29 15:50 2481一、简介 线程池类为 j ... -
myeclipse 颜色设置(保护视力)
2012-02-28 09:29 20461.window -> Preferences -> ... -
Quartz表达式解析
2012-02-08 14:40 776字段 允许值 允许的特 ... -
使用iBatis中报 java.sql.SQLException: 无效的列类型异常
2011-12-15 14:46 2201<!--Content表 插入应的 ... -
非常有用的proxool属性详细解说
2011-12-13 16:19 1582Proxool连接池是sourceforge下的一个开源项目, ... -
在工程中查找自己修改的所有代码
2011-12-09 17:41 1018在工程中查找自己修改的所有代码的方法: 1.工程右键 -&g ... -
如何在Eclipse中安装和使用ibatis插件Abator
2011-12-01 21:26 49411、获得abator: http://ibatis. ... -
newCachedThreadPool线程池
2011-11-20 11:35 42980public static ExecutorService n ... -
Apache Mina – 简单的客户端/服务端应用示例
2011-11-19 23:49 5483转自http://javasight.net/2011/05/ ... -
Class.forName()、Class.forName().newInstance() 、New 三者区别!
2011-11-15 09:18 1222终于明白为什么加载数据库驱动只用Class.forName() ...
相关推荐
Spring CXF Restful 实例
未引用spring, 单纯cxf restful 使用,只写了返回json数据的一个简单get请求例子
CXF整合spring,同时支持JSON和XML的CXF配置,支持自动转成实体类,其中的hibernate配置可以不用理会。如果还有不明白可以在留言里留下联系方式,大家可以一起讨论
CXF Restful服务简单例子
<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"/>
CXF开发WebSerice教程,还包括wsdl2java的使用方法。
使用Spring整合CXF发布RESTFul项目案例(包含代码)
主要包括cxf开发webservice的配置,使用maven 构建项目。
webserviceApache CXF java springboot利用Apache CXF创建webserice接口 Apache CXF 核心架构是以BUS为核心,整合其他组件。 * Bus是CXF的主干, 为共享资源提供一个可配置的场所,作用类似于Spring的...
cxf&spring;&json;&xml;所需要的jar包和实例
这个版本是我上次传的CXF整合spring的加强版,增加了上传和下载已经拦截器的功能。如果还有不明白可以在留言里留下联系方式,大家可以一起讨论
CXF spring 提供rest服务输出xml或json等格式数据
使用cxf创建restful风格的web service
采用spring 结合cxf 发布一个RestFul接口。 http请求,soap均可调用。
用CXF开发RESTful风格WebService.doc
spring整合cxf实现restful的webservice服务,代码分为服务端和客户端两个模块;服务端为接口,客户端为接口调用。
cxf集成Spring的restful WebServ ice接口,Demo的完整代码!
附件是一个使用CXF 实现 RESTful Webservice 完整 CRUD 实例,使用 HashMap 来模拟数据库,可以直接运行,具体使用可以参考其中的 readme;仅供有兴趣的初学者参考。
cxf框架的webservice,可以完美运行,生成了xml字符串并进行传递以及生成了json对象,然后传递给客户端
CXF Restful + Spring3 + Mybatis 后台开发环境搭建