讓我們使用Jersey框架開始編寫實際的RESTful web服務。 在開始使用Jersey框架編寫第一個例子,必須確保設置環境REST Web服務正常。我也假設你有一點點的使用Eclipse IDE工作的經驗。
因此,讓我們繼續編寫一個簡單的應用程式Jersey將公開一個Web服務方法來顯示用戶列表。
第1步 - 創建Java專案:
第一步是創建使用Eclipse IDE動態Web專案。按照選項 File -> New -> Project 並最後選擇 Dynamic Web Project 從嚮導列表嚮導。現在使用的嚮導窗口如下專案命名為UserManagement:

一旦專案成功創建,目錄結構在 Project Explorer:

第2步 - 添加必需的庫:
第二步,讓我們在專案中添加Jersey框架和它的依賴(庫)。複製所有jar檔在下載ZIP的jersey檔夾的目錄下麵的所有檔到專案的WEB-INF/ lib目錄下。
-
\jaxrs-ri-2.17\jaxrs-ri\api
-
\jaxrs-ri-2.17\jaxrs-ri\ext
-
\jaxrs-ri-2.17\jaxrs-ri\lib
現在,右鍵點擊你的專案名稱用戶管理,然後按照下麵選項中的上下文菜單: Build Path -> Configure Build Path 顯示Java構建路徑窗口。
現在,使用添加JAR檔可用按鈕下的庫選項卡,添加JAR檔到WEB-INF/lib目錄下。
第3步 - 創建原始檔案:
現在,讓我們在UserManagement 專案中創建實際的原始檔案。首先,我們需要創建一個名為包 com.zaixian. 要做到這一點,右鍵單擊src在包資源管理部分並按照選項: New -> Package.
下一步,我們將創建 User.java, UserDao.java, 和 UserService.java 檔在 com.zaixian 包下.
File - User.java
package com.zaixian; import java.io.Serializable; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "user") public class User implements Serializable { private static final long serialVersionUID = 1L; private int id; private String name; private String profession; public User(){} public User(int id, String name, String profession){ this.id = id; this.name = name; this.profession = profession; } public int getId() { return id; } @XmlElement public void setId(int id) { this.id = id; } public String getName() { return name; } @XmlElement public void setName(String name) { this.name = name; } public String getProfession() { return profession; } @XmlElement public void setProfession(String profession) { this.profession = profession; } }
File - UserDao.java
下麵的程式已經被硬編碼為顯示列出來的用戶的功能。在這裏,可以實現所需的業務邏輯,你可能讀取用戶,或從資料庫及任何其他資源所需的數據。
package com.zaixian; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.List; public class UserDao { public List<User> getAllUsers(){ List<User> userList = null; try { File file = new File("Users.dat"); if (!file.exists()) { User user = new User(1, "Mahesh", "Teacher"); userList = new ArrayList<User>(); userList.add(user); saveUserList(userList); } else{ FileInputStream fis = new FileInputStream(file); ObjectInputStream ois = new ObjectInputStream(fis); userList = (List<User>) ois.readObject(); ois.close(); } } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } return userList; } }
File - UserService.java
package com.zaixian; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; @Path("/UserService") public class UserService { UserDao userDao = new UserDao(); @GET @Path("/users") @Produces(MediaType.APPLICATION_XML) public List<User> getUsers(){ return userDao.getAllUsers(); } }
有以下兩個要點需要注意下麵的主程序,UserService.java:
-
第一步是指定用於使用@Path注釋到UserService的Web服務的路徑。
-
第二個步驟是,以指定用於使用@Path注釋到UserService的方法的特定web服務方法的路徑。
第4步 - 創建web.xml配置檔:
需要創建一個Web XML配置檔,該檔是一個XML檔,用於指定Jersey框架的servlet應用。
File - 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>User Management</display-name> <servlet> <servlet-name>Jersey RESTful Application</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>com.zaixian</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>Jersey RESTful Application</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app>
第5步 - 部署程式
一旦你使用創建源和Web配置檔完成,這一步是準備好編譯和運行程式。要做到這一點,使用Eclipse,導出您的應用程式為war檔,並部署在Tomcat中。 要使用eclipse創建WAR檔,按照選項 File -> export -> Web > War File 最後選擇專案UserManagement和目標檔夾。 要在Tomcat部署WAR檔,將用戶Management.war在Tomcat的安裝目錄 > webapps 目錄並啟動Tomcat。
第6步 - 運行程式
我們使用Postman,一個Chrome擴展來測試Web服務。
提出一個請求到UserManagement,讓所有的用戶列表。http://localhost:8080/UserManagement/rest/UserService/users POSTMAN使用GET請求,看看下麵的結果。

恭喜你,已經創建了第一個基於REST的應用成功。此外,讓我們開始做一些更有趣事情在接下來的幾章。