Eclipse用REST实现Web Service
本文基于Eclipse JEE用REST实现Web Service,所用服务器为Tomcat 9。
- 1. 构建Web Service的服务器端
- 2. 构建客户端测试Web Service
本文以四则运算器Calculator的Service为例。
1. 构建Web Service的服务器端
- 1)创建一个名为“CalculatorREST”的Dynamic Web Project
点击Next, 出现如下窗口,然后输入项目名称“CalculatorREST”并指定项目路径:
这里不要直接点击Finish,而要点击Next,因为要再最后一步勾选“生成web.xml文件”的选项,这个文件后面会用到。
点击Next,然后勾选“Generate web.xml delpoyment descriptor”:
点击Finish, 服务器端的项目创建完成。
- 2)下载并导入项目所需要的jar包
由于本项目使用Jersey框架,所以需要下载Jersey所需要的jar包。
Jersey JAX-RS 2.1 RI bundle下载地址:https://jersey.github.io/download.html (点击里面蓝色的Jersey JAX-RS 2.1 RI bundle就可以进行下载)。
将下载下来的文件解压,文件结构如下:
其中api,ext,lib这三个文件夹中分别包含很多jar包。将这些jar包全部拷贝到工程中WebContent/WEB-INF/lib目录中。不要直接将文件夹拷入,而是将这三个文件夹中的jar包全部拷入。也就是说,最后WebContent/WEB-INF/lib目录中不是包含“api, ext,lib”这三个文件夹,而是直接包含全部的jar包。否则会出错。 WebContent/WEB-INF/lib中的内容如下:
回到Eclipse中,在项目名上右键->Refresh,然后再次右键->Build Path->Configure Build Path->Libraries->Add JARs,将刚才WebContent/WEB-INF/lib中的jar包添加进去:
- 3)编写Web Service所要提供的功能的代码
在src中创建一个名为“mypackage ”的包,并在包中创建一个名为“Calculator”的类,Calculator.Java中的代码如下:
//Calculator.java
package mypackage;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.QueryParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/CalculationService")
public class Calculator {
@GET
@Path("/add")
@Produces(MediaType.TEXT_PLAIN)
public double Add(@QueryParam("x") double x,@QueryParam("y") double y) {
return x+y;
}