网站首页 > 精选教程 正文
本教程需要下载MyEclipse最新版本 。
MyEclipse官方最新版免费下载试用,历史版本下载,在线文档和帮助文件下载-慧都网
在MyEclipse中开发 REST Web 服务以增强您的 Web 应用程序。在本教程示例中,您将创建一个简单的 Web 服务来维护客户列表。您将学会:
- 开发 REST Web 服务
- 部署到 Tomcat 服务器
- 使用 REST Web 服务资源管理器进行测试
为您生成的方法提供实现
现在,您需要为使用向导创建的方法提供实现。在实际应用程序中,此时您可能会使用 JPA 或 Hibernate 连接到数据库以帮助管理客户列表,但是对于本教程来说,一个简单的内存映射就足够了。
实现很简单;当服务接收到客户时,您为实体提供基于计数器的 id 并将其添加到地图中。通过 id 从该地图中检索客户并提供客户列表非常简单,如下所示。
将 CustomersResource 类中的内容替换为以下代码。观察类和方法签名没有改变。您正在使用服务的实现来充实生成的存根。出于演示目的,您还可以将单个客户添加到列表中。
package com.myeclipseide.ws;
import java.util.ArrayList;
import java.util.List;
import java.util.TreeMap;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import com.sun.jersey.spi.resource.Singleton;
@Produces("application/xml")
@Path("customers")
@Singleton
public class CustomersResource {
private TreeMap customerMap = new TreeMap();
public CustomersResource() {
// hardcode a single customer into the database for demonstration
// purposes
Customer customer = new Customer();
customer.setName("Harold Abernathy");
customer.setAddress("Sheffield, UK");
addCustomer(customer);
}
@GET
public List getCustomers() {
List customers = new ArrayList();
customers.addAll(customerMap.values());
return customers;
}
@GET
@Path("{id}")
public Customer getCustomer(@PathParam("id") int cId) {
return customerMap.get(cId);
}
@POST
@Path("add")
@Produces("text/plain")
@Consumes("application/xml")
public String addCustomer(Customer customer) {
int id = customerMap.size();
customer.setId(id);
customerMap.put(id, customer);
return "Customer " + customer.getName() + " added with Id " + id;
}
}
部署 Web 服务应用程序
部署 Web 服务的最快方法是使用 Run As 或 Debug As MyEclipse Server Application 操作。
- 右键单击该项目,然后选择 Debug As(或 Run As)>MyEclipse Server Application。
- 选择 MyEclipse Tomcat,然后单击 Finish。
- MyEclipse 执行以下步骤:
- 打包Web Service 项目并以Exploded格式将其部署到应用程序服务器。
- 启动应用服务器并加载项目。
- MyEclipse Web 浏览器打开我们的 Web 服务应用程序的默认index.jsp页面。你不需要这个,因为你没有测试一个网页,所以你可以关闭这个视图。
使用 REST Web 服务资源管理器进行测试
REST Web 服务资源管理器在 MyEclipse 标准订阅级别不可用。如果您是 MyEclipse Standard 订阅者,请按照使用标准浏览器测试 Web 服务中的说明进行操作。
- 右键单击restdemo项目,然后选择Web Service Tools>Test with REST Web Services Explorer .
注意:如果您将 restdemo 部署到 MyEclipse Tomcat 以外的应用程序服务器,则资源管理器中使用的 WADL URL 可能包含不正确的端口,从而阻止资源管理器加载您的 WADL 文件。更正端口,然后单击执行按钮继续。
您还可以通过单击工具栏上 Web 服务资源管理器图标上的下拉箭头 并选择启动 REST Web 服务资源管理器来打开 REST Web 服务资源管理器。在这种情况下,您必须在地址栏中输入 WADL 文件的路径才能继续操作。
- 将树展开到{id}节点,然后选择getCustomer方法。
- 单击测试方法。将打开一个新选项卡,您可以在其中输入信息并运行测试。
- 在 id 字段中输入 0,然后单击 Run Test图标。
- 关闭 getCustomer 选项卡。
- 在树中展开add ,选择addCustomer方法,然后单击Test method。
- 在 Body 中,键入 addCustomer 选项卡的 application/xml 区域,粘贴以下代码,然后单击。
<customer>
<name>Bill Adama</name><address>Vancouver, Canada</address>
</customer>
- 响应确认,客户 Bill Adama 添加了 ID 1。
- 关闭 addCustomer 选项卡。
- 在customers节点中选择getCustomers ,然后单击Test method。
- 单击。服务以 XML 格式返回列表中的两个客户。
本次MyEclipse使用教程介绍了部署 Web 服务应用程序的相关内容,想要了解全部教程点击查看。
猜你喜欢
- 2024-11-23 无需写代码!可一键生成前后端代码的开源工具
- 2024-11-23 我不信,没了IDE,你的Java项目还能够Run起来?
- 2024-11-23 Python启航:30天编程速成之旅(第2天)-IDE安装
- 2024-11-23 一篇文章带你明白:什么是编译器,什么是集成开发环境(IDE)?
- 2024-11-23 没了IDE,你的Java项目还能Run起来吗
- 2024-11-23 盘点Linux平台下的十佳IDE
- 2024-11-23 Github标星30.7K!这一款强大开源的IDE我粉了
- 2024-11-23 清华学神尹成带你学习golang2021(16)Go语言集成开发环境(IDE)
- 2024-11-23 行业领先的Java IDE——IntelliJ IDEA v2022.3全新发布
- 2024-11-23 Java初学者和大牛分写需要哪些IDE工具?
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)