首先在pom.xml里面加上
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.9.0</version>
</dependency>
这里用的是cxf 2.6.2版本
然后在cxf-servlet.xml
beans下添加 xmlns:jaxrs="http://cxf.apache.org/jaxrs" 和 http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
接着添加
上面的 jaxws 是配置的soap 的server
下面 jaxrs是配置的一个restfull的server
这里的 jaxrs:providers 下面的bean 配置的是 让server 以json格式返回数据 这里必须导入上面说的 jackson-jaxrs 这个jar包
下面是 restfull server 的类
@Component
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_ATOM_XML})
public class RestUserServiceImpl{
@GET
@Path("restGetUser/{userId}")
public User getUser(@PathParam("userId") String userId) {
User user = new User();
user.setId(Long.valueOf(userId));
return user;
}
}
然后启动程序 访问 http://localhost:8080/item/ws/rest/restGetUser/123
这段url item是项目名称 ws 是web.xml里面配置的 cxf的服务 rest 是cxf-servlet 里面jaxrs配置的address的路径 restgetUser是方法上面的路径123 则是后面跟着的参数