首先讲一下什么是restful webservice ,这个问题网上一搜有很多博文去长篇大论的介绍它,但是最后你看完了也会觉得云里雾里的,所以我在这里简单的讲一下我理解的rest webservice,其实我在使用restful webservice的初衷是为了解决跨域的问题。之前做过一个移动端的产品,使用html5套的原生安卓app的壳,调用服务端发布的rest 服务,通过ajax就可以请求到服务器,并返回需要的json值。
最近自己也在尝试去使用自己搭建的框架去集成CXF发布restwebservice服务,程序已经运行一段时间了,一直都想总结一下,当下终于有时间去记录一下自己的学习历程了。
首先这边使用的框架是hibernate+struts2+spring 典型的三大框架,当然现在很多企业都在使用springMVC 这个其实无所谓的,其次是本项目采用maven进行管理构建,所以配置jar的时候会非常的方便,好了,废话不多说,直接上干货。
一、配置maven依赖包
1 <dependency> 2 <groupId>org.apache.cxf</groupId> 3 <artifactId>cxf-rt-rs-security-cors</artifactId> 4 <version>3.0.1</version> 5 </dependency> 6 <dependency> 7 <groupId>org.apache.cxf</groupId> 8 <artifactId>cxf-core</artifactId> 9 <version>3.0.1</version> 10 </dependency> 11 <dependency> 12 <groupId>org.apache.cxf</groupId> 13 <artifactId>cxf-rt-frontend-jaxrs</artifactId> 14 <version>3.0.1</version> 15 </dependency> 16 <dependency> 17 <groupId>javax.ws.rs</groupId> 18 <artifactId>javax.ws.rs-api</artifactId> 19 <version>2.0</version> 20 </dependency> 21 <dependency> 22 <groupId>org.apache.cxf</groupId> 23 <artifactId>cxf-rt-transports-http</artifactId> 24 <version>3.0.1</version> 25 </dependency> 26 <dependency> 27 <groupId>org.osgi</groupId> 28 <artifactId>org.osgi.core</artifactId> 29 <version>4.2.0</version> 30 </dependency> 31 <dependency> 32 <groupId>org.apache.cxf</groupId> 33 <artifactId>cxf-rt-ws-policy</artifactId> 34 <version>3.0.1</version> 35 </dependency> 36 <dependency> 37 <groupId>org.apache.cxf</groupId> 38 <artifactId>cxf-rt-wsdl</artifactId> 39 <version>3.0.1</version> 40 </dependency> 41 <dependency> 42 <groupId>wsdl4j</groupId> 43 <artifactId>wsdl4j</artifactId> 44 <version>1.6.3</version> 45 </dependency> 46 <dependency> 47 <groupId>org.osgi</groupId> 48 <artifactId>org.osgi.compendium</artifactId> 49 <version>4.2.0</version> 50 </dependency> 51 <dependency> 52 <groupId>xml-resolver</groupId> 53 <artifactId>xml-resolver</artifactId> 54 <version>1.2</version> 55 </dependency> 56 <dependency> 57 <groupId>asm</groupId> 58 <artifactId>asm</artifactId> 59 <version>3.3.1</version> 60 </dependency>