Java Rest WebService 三步服务发布
本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:
- 使用Idea开发工具创建Maven项目
- 在pom.xml中加载库文件
- 主要Java代码
- 修改web.xml
1.使用Idea开发工具创建Maven项目,省略
2.在pom.xml中加载库文件
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<encoding>UTF-8</encoding>
<cxf.version>3.1.7</cxf.version>
<spring.version>4.1.4.RELEASE</spring.version>
</properties>
<dependencies>
<!--这是rs框架的包-->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1</version>
</dependency>
<!--这是cxf框架的包-->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.2</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.9.13</version>
</dependency>
<!--这是jersey框架的包-->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.17.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.17.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.17.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.17.1</version>
</dependency>
<!--这是asm框架的包-->
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.3.1</version>
</dependency>
3.主要Java代码
接口:
public interface StudentResource {
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response postStudent();
@GET
@Consumes(MediaType.APPLICATION_JSON)
public Response getStudent();
@Path("queryById/{id}")
public Response queryById(@PathParam("id")int id);
}
---------------------------------------------------------
实现类:
@Path("/resource")
public class StudentResourceImpl implements StudentResource{
/**
* 一个简单的文本信息
* @return
*/
public Response postStudent() {
System.out.println("===postStudent()===");
return Response.status(200).entity("Hello Student post !").build();
}
public Response getStudent() {
System.out.println("===getStudent()===");
return Response.status(200).entity("Hello Student get !").build();
}
public Response queryById(int id) {
System.out.println("===queryById()===");
return Response.status(200).entity("Hello Student queryById " + id + " !").build();
}
}
4.修改web.xml
com.ttook.cxf.resource 把这个包下的class发布rest服务
JAX-RS-Servlet servlet名称
/cxf/* url访问方式