读书人

restlet jax-rs配备

发布时间: 2012-12-21 12:03:49 作者: rapoo

restlet jax-rs配置

?

配置基于 RESTlet JAX-RS Extension 的 Web Service 也就是部署该架构下的 Web Service。RESTlet 架构提供两种部署 Web Service 的方式。两种方式都方便简单,用户可以根据自己的需求选择任意一种部署方式。

将 Web Service 当做单独的 Java 程序进行部署将 Web Service 部署到 Servelet Container 中

两种方式都方便简单,用户可以根据自己的需求选择任意一种部署方式。

将 Web Service 部署成一个单独运行的 Java 应用非常的简单,只需要完成以下几个步骤。

导入需要的 JAR 包,org.restlet.jar,以及org.restlet.ext.jaxrs_1.0.jar。为 HTTP Server 创建相应 Java 类。在新建的 Java 类中依次完成以下工作,引入 org.restlet.jar 包中需要的类,新建 HTTP Server,定义该 Server 监听的端口,将 Web Service 的配置类加入到 HTTP 服务器中。编译运行 HTTP Server。

将基于 RESTlet Jax-Rs Extension 的 Web Service 部署到 Servelet Container 中的过程和部署一个基本的 Servelet 极其相似。不同的是,部署过程中,用户需要注意添加需要的 Jar 包。以下 Jar 是该部署方式所需要的。

org.restlet.jarorg.restlet.ext.jaxrs_1.0.jarcom.noelios.restlet.jarcom.noelios.restlet.ext.servlet_2.5.jar

为了成功将基于 RESTlet Jax-Rs Extension 的 Web Service 部署为 Servelet,用户需要完成以下动作。

编译基于 RESTlet Jax-Rs Extension 的 Web Service 包含的代码。将需要的 JAR 包存放于 /WEB-INF/lib 中。创建 Servelet 的配置文件 web.xml。将所有相关内容打包成 WAR 包,并部署到用户选定的 Servelet 容器中。

?

?

}

?

@GET

@Path("usergroup/{id}")

public String findUserGroup(@PathParam("id") String id){

UserGroup group = UserGroupManager.get().getDetails(id);

if(group != null)

return group.toString();

else

return "The group you queried(ID:" + id + ") doesn't existed!";

}

?

}

?

@path指定资源的路由,可以有资源的路由和资源方法的路由。

@GET指定请求的类型(get,put,post,delete)

@PathParam与@path中的参数对应

?

?

将工程发布指容器,运行,输入http://localhost:portnum/工程名/users/usergroup,我的chrome显示不出来不知什么原因。模型类代码package com.model;public class User {private String username = "User Sample";private String id = "";public User(String id){this.id = id;}public User(){this.username = "Name Sample";this.id = "ID ISample";}public User(String name, String id){this.username = name;this.id = id;}public String getUser(){if(id.equalsIgnoreCase("null"))return "The user you queried(ID:" + this.username + ") doesn't existed!";return "User - Name:" + this.username + " ID:" + this.id + "/n";}public void setName(String username){this.username = username;}public String getName(){return this.username;}public void setID(String id){this.id = id;}public String getID(){return id;}public String toString(){if(id.equalsIgnoreCase("null"))return "The user you queried(ID:" + this.username + ") doesn't existed!";return "User - Name:" + this.username + " ID:" + this.id + "/n";}}package com.model;import java.util.ArrayList;import java.util.List;public class UserGroup {private String groupname = "User Group Sample";private String groupid = "User Group ID Sample";private List<String> userlist = new ArrayList<String>();public UserGroup(String name){groupname = name;}public UserGroup(){}public UserGroup(String name, String id){this.groupname = name;this.groupid = id;}public String getName(){return groupname;}public void setName(String name){this.groupname = name;}public String getID(){return this.groupid;}public void setID(String id){this.groupid = id;}public void addUser(String id){this.userlist.add(id);}public void deleteUser(String id){int location = -1;for(int i = 0; (i < this.userlist.size()) && location == -1; i++){String temp = this.userlist.get(i);if(temp.equalsIgnoreCase(id))location = i;}this.userlist.remove(location);}public String getGroup(){if(this.groupid.equalsIgnoreCase("null"))return "Group(ID:" + this.groupname + ") does not existed!/n";return "Group - ID:" + this.groupid + " Name:" + this.groupname + "/n";}public String toString(){if(this.groupid.equalsIgnoreCase("null"))return "Group(ID:" + this.groupname + ") does not existed!/n";return "Group - ID:" + this.groupid + " Name:" + this.groupname + "/n";}}package com.model;import java.util.ArrayList;import java.util.List;public class UserGroupManager {private static UserGroupManager manager = new UserGroupManager();private List<UserGroup> groupList = new ArrayList<UserGroup>();public static UserGroupManager get(){return manager;}private UserGroupManager(){final UserGroup group1 = new UserGroup();group1.setID("1");group1.setName("Sample Group");groupList.add(group1);}public UserGroup getDetails(String id){for(int i = 0; i < groupList.size(); i++){UserGroup temp = this.groupList.get(i);if(temp.getID().equalsIgnoreCase(id))return temp;}return new UserGroup(id,"null");}}package com.model;import java.util.ArrayList;import java.util.List;public class UserManager {private static UserManager manager = new UserManager();public static UserManager get() { return manager; }private List<User> userList = new ArrayList<User>();private UserManager(){ final User user1 = new User(); user1.setID(Integer.toString(1)); user1.setName("Zhou Peng"); this.userList.add(user1); final User user2 = new User(); user2.setID(Integer.toString(2)); user2.setName("Lu Hong Yong"); this.userList.add(user2); }public User getDetails(String id){for(int i = 0; i < this.userList.size(); i++){User temp = this.userList.get(i);if(temp.getID().equalsIgnoreCase(id))return temp;}return(new User(id,"null"));}}

?

原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-jsr311/index.html

?

读书人网 >编程

热点推荐