让我们开始用Jersey Framework编写实际的RESTful Web服务.在使用Jersey Framework开始编写第一个示例之前,必须确保已按照 RESTful Web服务中的说明正确设置了Jersey环境. - 环境设置章节.在这里,我还假设您对Eclipse IDE有一点了解.
所以,让我们继续编写一个简单的Jersey应用程序,它将公开一个Web服务方法来显示列表用户.
创建Java项目
第一步是使用Eclipse IDE创建动态Web项目.按照选项 File → 新的 → 项目,最后从向导列表中选择动态Web项目向导.现在使用向导窗口将项目命名为 UserManagement ,如以下屏幕截图所示 :
成功创建项目后,您将在项目浏览器 :
中获得以下内容b
添加所需的库
作为第二步让我们在项目中添加Jersey Framework及其依赖项(库).从项目的WEB-INF/lib目录下载jersey zip文件夹的以下目录中复制所有jar.
\ jaxrs-ri -2.17 \ jaxrs-ri \ api
\ jaxrs-ri-2.17 \ jaxrs-ri \ ext
\ jaxrs -ri-2.17 \ jaxrs-ri \lib
现在,右键单击项目名称 UserManagement 然后关注上下文菜单中的选项 : Build Path → 配置构建路径以显示Java构建路径窗口.
现在使用库选项卡下的添加JAR 按钮添加WEBINF/lib目录中的JAR.
创建源文件
现在让我们在 UserManagement下创建实际的源文件项目.首先,我们需要创建一个名为 com.it1352的包.要执行此操作,请右键单击package explorer部分中的src,然后单击选项 : New → 包.
接下来,我们将在com.it1352包下创建 UserService.java,User.java,UserDao.java 文件.
User.java
package com.it1352; 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; } }
UserDao.java
package com.it1352; 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 ListgetAllUsers(){ List userList = null; try { File file = new File("Users.dat"); if (!file.exists()) { User user = new User(1, "Mahesh", "Teacher"); userList = new ArrayList (); userList.add(user); saveUserList(userList); } else{ FileInputStream fis = new FileInputStream(file); ObjectInputStream ois = new ObjectInputStream(fis); userList = (List ) ois.readObject(); ois.close(); } } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } return userList; } private void saveUserList(List userList){ try { File file = new File("Users.dat"); FileOutputStream fos; fos = new FileOutputStream(file); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(userList); oos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
UserService.java
package com.it1352; 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 ListgetUsers(){ return userDao.getAllUsers(); } }
关于主程序,有两点需要注意,
UserService.java
第一步是使用@Path注释为UserService指定Web服务的路径.
第二步是使用@Path注释为UserService方法指定特定Web服务方法的路径.
创建Web.xml配置文件
您需要创建一个Web文件配置文件,该文件是一个XML文件并被使用为我们的应用程序指定Jersey框架servlet.
web.xml
User Management Jersey RESTful Application org.glassfish.jersey.servlet.ServletContainer jersey.config.server.provider.packages com.IT屋 Jersey RESTful Application /rest/*
部署程序
完成创建源和Web配置文件后,就可以为此步骤做好准备了这是编译和运行您的程序.为此,使用Eclipse,将您的应用程序导出为war文件并在tomcat中部署它.
要使用eclipse创建WAR文件,请按照 File → 选项进行操作.出口 → Web → 战争文件,最后选择项目UserManagement和目标文件夹.要在Tomcat中部署war文件,请将UserManagement.war放在 Tomcat安装目录&rarr中; webapps目录并启动Tomcat.
运行程序
我们正在使用邮递员,Chrome扩展程序,用于测试我们的网络服务.
向UserManagement发出请求以获取所有列表用户.在POSTMAN中使用GET请求放置http://localhost:8080/UserManagement/rest/UserService/users并查看以下结果.
恭喜,您已成功创建了第一个RESTful应用程序.