结合[How to build RESTful Service with Java using JAX-RS and Jersey (Example)]对搭建web service 总结如下:
步骤1:部署tomcat服务器:
下载Apache tomcat从下面链接,放置到合适位置,并解压。
步骤2: 创建Dynamic Web Project, 名字为WebserviceDemo
Eclipse –>File –> New –> Dynamic Web Project; 如下图:
点击New Runtime添加一个tomcat环境,如下图所示(用的是tomcat 8.5版):
点击finish,项目创建成功。
步骤3
检查创建的项目\WebContent\WEB-INF\
下是否有web.xml 文件,如果不存在,right click - ->java EE tools –>Generate Deployment Descriptor Stub;然后\WebContent\WEB-INF\
会出现web.xml
如下图所示:
步骤4
把新建项目转换为Maven Project,并添加一些依赖的 .jar包
Steps:Right click on project -> Configure -> Convert to Maven Project.
打开pom.xml选择Dependencies选项添加依赖.jar包:
- asm.jar
- jersey-bundle.jar
- json.jar
- jersey-server.jar
这是pom.xml
里的内容
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>WebserviceDemo</groupId>
<artifactId>WebserviceDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-bundle</artifactId>
<version>1.18</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20140107</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.8</version>
</dependency>
</dependencies>
</project>
web.xml
文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>WebserviceDemo</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<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>
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>king.service.com</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
</web-app>
步骤5 创建 Add.java
package king.service.com;
/**
* @Author king
* @date 2017-05-03
* */
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
@Path("/add")
public class Add {
@GET
@Produces("application/xml")
public String Add(){
Double a = 10.0;
Double b = 15.0;
Double sum = a + b;
return "<AddService>"+"<num-one>"+ a +"</num-one>"+"<num-two>"+ a +"</num-two>"+ "<sum>"+ sum +"</sum>"+"</AddService>";
}
@Path("/{c}/{d}")
@GET
@Produces("application/xml")
public String Add(@PathParam("c") Double c, @PathParam("d") Double d){
Double sum = c + d;
return "<AddService>"+"<num-one>"+ c +"</num-one>"+"<num-two>"+ d +"</num-two>"+ "<sum>"+ sum +"</sum>"+"</AddService>";
}
}
步骤6 clean eclipse workspace and build project
1. Project -> Clean
2. Project -> Right click -> Maven -> Update Project
3. Project -> Right click -> Run As.. -> Maven Build (option 5) -> Add "clean install" -> Run
执行效果图如下:
步骤7 在Tomcat上部署WebserviceDemo。
- Click Server Tab
- Right click on Server
- Click on Add and Remove Projects
- Selection project from left side and click on Add
- Click finish
步骤8:启动Tomcat Server
步骤9 访问Webservice
浏览器输入:http://localhost:8080/WebserviceDemo/service/add/
返回xml格式的数据
带参数访问:http://localhost:8080/WebserviceDemo/service/add/123/234
以上步骤详细总结了一个简单的webservice的例子;