Spring+CXF开发RESTful风格的WebService
2017-04-08 21:34
411 查看
Spring+CXF开发RESTful风格的WebService
使用apache-cxf-2.7.18版本的cxf相关jar包
项目结构图:
StudentBean.java
服务接口:IStudentWebService.java
服务接口实现类:StudentWebServerImpl.java
applicationContext.xml
web.xml
使用apache-cxf-2.7.18版本的cxf相关jar包
项目结构图:
StudentBean.java
package com.zxj.webservice.beans; import java.io.Serializable; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name="student") public class StudentBean implements Serializable { private static final long serialVersionUID = 1L; private long id; private String name; public StudentBean() { super(); } 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; } @Override public String toString() { return "StudentBean [id=" + id + ", name=" + name + "]"; } }
服务接口:IStudentWebService.java
package com.zxj.webservice.studentserver; import java.util.List; import javax.jws.WebService; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import com.zxj.webservice.beans.StudentBean; @WebService @Path("/student") public interface IStudentWebService { @Path("/getstudent/{id}") //指定JSON数据类型 @Produces("application/json;charset=utf-8") @GET public StudentBean getStudent(@PathParam("id") long id); @Path("/getstudents/{name}") //指定XML数据类型 @Produces(MediaType.APPLICATION_XML) @GET public List<StudentBean> getStudents(@PathParam("name") String name); }
服务接口实现类:StudentWebServerImpl.java
package com.zxj.webservice.studentserver.impl; import java.util.ArrayList; import java.util.List; import com.zxj.webservice.beans.StudentBean; import com.zxj.webservice.studentserver.IStudentWebService; public class StudentWebServerImpl implements IStudentWebService { @Override public StudentBean getStudent(long id) { StudentBean student = new StudentBean(); student.setId(id); student.setName("赵祥军"); return student; } @Override public List<StudentBean> getStudents(String name) { List<StudentBean> students = new ArrayList<StudentBean>(); StudentBean student1 = new StudentBean(); student1.setId(1); student1.setName(name); StudentBean student2 = new StudentBean(); student2.setId(2); student2.setName("XiangjunZhao"); students.add(student1); students.add(student2); return students; } }
applicationContext.xml
<?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" xmlns:cxf="http://cxf.apache.org/core" 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 http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd"> <!-- <jaxrs:server发布REST协议的服务 ,对JAXRSServerFactoryBean类封装 --> <jaxrs:server address="/user"> <jaxrs:serviceBeans> <ref bean="studentWebServerImpl"/> </jaxrs:serviceBeans> </jaxrs:server> <!-- 配置服务实现类 --> <bean id="studentWebServerImpl" class="com.zxj.webservice.studentserver.impl.StudentWebServerImpl"></bean> </beans>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>webservice_spring_cxf</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> b48e <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>cxf</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>cxf</servlet-name> <url-pattern>/ws/*</url-pattern> </servlet-mapping> </web-app>
相关文章推荐
- spring整合cxf 发布restFul风格的webservice
- Restful(二)Spring整合CXF,发布RSETful 风格WebService
- CXF+spring构建restful风格的webservice
- 用cxf开发restful风格的WebService
- Spring整合CXF,发布RSETful 风格WebService--编写客户端代码,调用RESTful WebService
- 应用CXF开发RESTful风格的WebService入门实例
- spring集成cxf 发布restful风格webservice
- CXF 开发RESTful WebService服务(Spring+JPA服务端,JAXRS2.0+WebClient客户端)
- 使用cxf,spring,mybatis框架完成restful风格的webservice服务
- 使用CXF开发RestFul风格WebService
- RestFul(一)WebService之CXF的RestFul风格开发
- WebService中注解开发,CXF,Spring整合,Rest风格
- Spring整合CXF,发布RSETful 风格WebService(转)
- 使用CXF开发RestFul WebService问题解决方案
- Spring整合CXF,发布RSETful 风格WebService
- Web Service笔记(五):CXF开发RESTful风格的Web Service
- 开发基于CXF的 RESTful WebService web 项目 webservice发布
- maven+CXF+Spring+tomcat 开发webservice
- (五)CXF整合Spring发布RESTful风格的Web服务
- Spring整合CXF,发布RSETful 风格WebService