- 浏览: 309444 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (272)
- java (42)
- c (49)
- 算法 (29)
- 汇编语言 (3)
- 字符集 (3)
- error (3)
- 搜索引擎 (2)
- 互联网 (18)
- linux (12)
- 网络 (20)
- VMWare (1)
- 面试 (7)
- c++ (55)
- 设计模式 (3)
- db (9)
- office (2)
- FS (1)
- rest (3)
- Ajax (2)
- Spring (2)
- Hibernate (3)
- matlab (1)
- load balancing (8)
- 分布式计算 (2)
- 易语言 (1)
- apache tomcat (1)
- 测试 (1)
- 数据结构 (5)
- 数学 (13)
- 服务器 (9)
- 读后感 (4)
- 好书介绍 (1)
- script (3)
- wordpress (2)
- delphi (21)
- pascal (8)
- xml (3)
- 趣味 (1)
- PHP (3)
- python (13)
- DLL (4)
- openGL (8)
- windows (2)
- QT (28)
- django (7)
- jquery (1)
- 数据挖掘 (7)
- nginx (1)
- js (1)
- mac (1)
- hadoop (3)
- 项目管理 (1)
- 推荐系统 (1)
- html (1)
最新评论
-
晴天1234:
related remove:attention.ibus和u ...
UBUNTU的默认root密码是多少,修改root密码 -
美丽的小岛:
美丽的小岛 写道如上配置好就得了。提示没有OpenGl.dll ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
如上配置好就得了。提示没有OpenGl.dll之类的,再增加入 ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
主要是理清哪两个对象之间的关系,是信号与所有槽的关系或者是槽与 ...
QT之DisConnect -
美丽的小岛:
LPCTSTR类型:L表示long指针 这是为了兼容Windo ...
QString与各种字符串之间的转化
这些天在看一本叫做《REST实战》的书,觉得内容有点难明白的,好像十分的抽象的。虽然有了HTTP的基础,但是,还是觉得很抽象,模糊得很。
决定做一个实验,体验一下REST实实在在摸得到的感觉。开始寻找第一感觉,记录第一次的感性认识。
如下步骤进行:
1.寻找指导
冲浪去寻找答案,如下网址有助于入门:
(1).http://www.restlet.org/documentation/1.0/tutorial
(2). http://wiki.restlet.org/docs_2.0/13-restlet/21-restlet/378-restlet.html
2.下载restlet包
寻找一个工具包,如下两个地方有很多,上一个新一点(2.0),下一个旧一点(1.0)。
(1)http://www.restlet.org/downloads/
(2)http://webscripts.softpedia.com/script/Development-Scripts-js/Restlet-45528.html
3.布置环境(myeclipse+jdk6.0)
对下载的工具包进行解压,包很多,还分了很多个文件夹来的。在文件夹里面的包也有用的。如果不用会报错。
打开myeclipse,创建一个web project。引入工具包中的所的包,包括里面的子文件夹的包。
4.用官网的代码来测试
import org.restlet.Component; import org.restlet.Restlet; import org.restlet.data.MediaType; import org.restlet.data.Protocol; import org.restlet.data.Request; import org.restlet.data.Response; public class TestMain { public static void main(String[] args) throws Exception { // Create a new Restlet component and add a HTTP server connector to it Component component = new Component(); component.getServers().add(Protocol.HTTP, 8182); // Create a new tracing Restlet Restlet restlet = new Restlet() { @Override public void handle(Request request, Response response) { // Print the requested URI path String message = "Resource URI : " + request.getResourceRef() + '\n' + "Root URI : " + request.getRootRef() + '\n' + "Routed part : " + request.getResourceRef().getBaseRef() + '\n' + "Remaining part: " + request.getResourceRef().getRemainingPart(); response.setEntity(message, MediaType.TEXT_PLAIN); } }; // Then attach it to the local host component.getDefaultHost().attach("/trace", restlet); // Now, let's start the component! // Note that the HTTP server connector is also automatically started. component.start(); } }
5.执行
在浏览器输入如下的东西,会有如下的显示
6.用servlet来试一试
(1)创建一个资源resource
import org.restlet.Context; import org.restlet.data.MediaType; import org.restlet.data.Request; import org.restlet.data.Response; import org.restlet.resource.Representation; import org.restlet.resource.Resource; import org.restlet.resource.StringRepresentation; import org.restlet.resource.Variant; public class TestResource extends Resource { public TestResource(Context context, Request request, Response response) { super(context, request, response); getVariants().add(new Variant(MediaType.TEXT_PLAIN)); } @Override public Representation getRepresentation(Variant variant) { Representation representation = new StringRepresentation( "Success, Great!", MediaType.TEXT_PLAIN); return representation; } }
(2)一个应用类application
import org.restlet.Application; import org.restlet.Context; import org.restlet.Restlet; import org.restlet.Router; public class TestApplication extends Application { public TestApplication(Context pc) { super(pc); } @Override public synchronized Restlet createRoot() { Router r = new Router(getContext()); r.attachDefault(TestResource.class); return r; } }
(3)配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <context-param> <param-name>org.restlet.application</param-name> <param-value>TestApplication</param-value> </context-param> <servlet> <servlet-name>RestletServlet</servlet-name> <servlet-class>com.noelios.restlet.ext.servlet.ServerServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>RestletServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
(4)浏览器查看结果情况
评论
2 楼
美丽的小岛
2012-06-04
aegeanmoon 写道
spring3 MVC也是支持REST的 ,配置也很简单 ,建议也参考下
嗯嗯,好的。谢谢指点。我试着去配置一下。
1 楼
aegeanmoon
2012-06-03
spring3 MVC也是支持REST的 ,配置也很简单 ,建议也参考下
发表评论
-
TCP/IP,Http,Socket的区别
2014-07-27 00:47 500大学学习网络基础的时 ... -
js实现两边广告流动的效果<转>.
2013-01-26 18:41 916<!DOCTYPE html PUBLIC " ... -
50个最好的wordpress插件
2013-01-17 18:53 1976这些wordpress插件都按照 ... -
搜索有点失望也有点可怕
2012-10-26 11:44 1348想看看最近那个搜索引擎比较好一点,做了一个实验,关 ... -
浅谈HTTP中Get与Post的区别
2012-09-11 14:46 1254Http定义了与服务器交互的不同方法,最基本的方法有4种,分别 ... -
几种Web服务器比较 (Apache、IIS、Lighttpd、Nginx、LiteSpeed、Zeus) <转>
2012-08-29 08:45 1493注意到有这款服务器nginx。没听过,一查有了下文。其中有一个 ... -
“从头到脚”介绍服务器负载均衡<转>
2012-08-21 11:18 662对于负载均衡的一大应用就是处理服务器的任务。如何进行有效的配置 ... -
软硬两个角度学习网络负载均衡<转>
2012-08-21 11:12 862初学负载均衡,如果不能很好把握它的知识,我们可以多换几个角度进 ... -
解密负载均衡市场高速发展内幕2<转>
2012-08-21 09:52 9771996-1999年:发现商机:网络负载均衡的起始阶段 F ... -
解密负载均衡高速发展内幕1<转>
2012-08-21 09:37 906负载均衡市场机会是如 ... -
几款服务器压力测试软件 【转】
2012-08-10 12:09 1246本文介绍了几个比较典 ... -
关于apache 和 tomcat的区别<转>
2012-08-06 21:14 1156apache tomcat联系: Ap ... -
杨剑:中国为什么没有根域名服务器<转>
2012-07-01 17:54 1037来源: 山里娃信息网http://www.368info.co ... -
springMVC+Rest+Ajax小例记录
2012-06-14 14:35 2487学习spring ,3.0有新的变 ... -
web.xml配置<转>
2012-06-05 11:50 1142总结一下web.xml的配置,留作文档,查阅: 出自:htt ... -
深入浅出REST<转>
2012-06-03 20:41 836作者 Stefan Tilkov 译者 苑 ... -
RMI小例实战记录
2012-05-22 21:43 1672一、关于RMI 对于远程,有些时候会想到FTP,HTTP,N ... -
<转>网络编程RMI
2012-05-22 20:56 1047转自:http://hi.baidu.com/sham_roc ... -
关于HTTP
2012-05-14 11:39 1192关于HTTP 对于HTTP的好奇 ... -
URL类支持的协议情况
2012-05-04 17:42 1280通过简单的程序到查看一下java.net.URL类对于一 ...
相关推荐
除了这些核心功能之外,还有一些扩展功能存在于OpenLayers的实验性分支或第三方库中,例如: - **身份识别任务**(Identify Task):用于识别地图上特定位置的信息。 - **地理处理任务**(Geoprocessing Task):...
在"第三章实验代码"中,我们可以期待看到以下几个关键知识点: 1. 数据结构与算法:作为程序设计的基础,数据结构用于高效存储和组织数据,而算法则是解决问题的具体步骤。在旅游资源管理中,可能会用到如链表、树...
- **DEVHOL-300-3**:《建立您的第一个工作流应用》Level 300。 此外,微软官方文档中心和团队博客也是获取最新WCF开发资源和教程的重要渠道。通过这些资源,开发者可以持续提升自己的技能,掌握WCF开发RESTful服务...
JavaWeb是Java编程领域的一个重要分支,主要用于构建Web应用程序。《JavaWeb习题解析与实验指导》这本书无疑是学习这一主题的宝贵资源,尤其对于正在学习《Java Web编程技术(第3版)-微课版》的读者来说,它提供了...
NotRetrofit, 为Android和Java类型的安全REST客户端 NotRetrofit ( 实验)贡献者。NotRetrofit将你的REST API 转换为Java接口。广场/翻新是一个伟大的项目。... NotRetrofit是第一个用生成的代码实现完整栈的。 指导原则
Feign是一个Java到HTTP客户端绑定器,它的灵感来自于Retrofit,JAXRS-2.0和WebSocket。Feign的主要目的是将绑定命名的复杂性降低到HTTP api不去考虑rest的复杂性。
第一个是 Elixir 中的 / 风格的库,用于在 Plug 之上通过 RESTful 接口公开资源。 它建立在动态构建的决策图之上,允许省略固定决策,并定制默认的 HTTP 决策图。 这允许它在 Plug 下单独使用,或者适合更大的框架...
Master Lemon Code 8 2020/2021的Api Rest实践实验室实践Api Master LemonCode的其余部分简介我们将使用一个公共API来显示Rick&Morty系列中的数据 为了模拟写入,我们将使用本地json服务器json服务器作为切入点,...
1. 数量表达:在英语中,表示具体的数字与million(百万)等单位连用时,不加复数形式,如题目中的"two million dollars"表示两百万美元。 2. 词语搭配:题目中出现的"plenty of"是正确的表达,用于修饰可数或不可...
【软件体系结构与设计实验报告】\n\n一、引言\n本次实验旨在让学生深入理解Web Service风格的软件架构,通过开发、测试、发布和调用Web Service,体验其基本方法、工具和流程。实验中,我们将以发送电子邮件消息的...
实验要求学生以发送电子邮件服务为例,实现一个可重用的功能模块,这在现实生活中有着广泛的应用,如账户验证等场景。 实验中,学生需要实现三个关键的服务功能: 1. sendEmail(String _url, String _payload):...
#### 第一部分:简单D触发器 - **实验目的**:掌握Quartus II 的基本使用方法,并能够完成基本的时序电路设计。 - **实验内容**:设计一个简单的D触发器。 - **实验步骤**:同上。 - **Verilog HDL 代码** ```...
在本次实验中,我们将深入探讨如何使用Vue.js前端框架与Spring Boot后端框架协同开发一个课堂签到API。这个项目旨在提升对软件设计与体系结构的理解,通过实践应用,掌握现代Web开发的核心技术。 首先,Vue.js是一...
理解这两者是制作交互式Web应用的第一步。 2. **JavaScript**:JavaScript是Web开发中的重要脚本语言,它负责处理用户交互、动态内容更新以及与服务器的异步通信。AJAX(Asynchronous JavaScript and XML)技术就是...
这份文档是江苏省宜兴市实验中学2020学年八年级英语上学期的第一次月考试题,由牛津译林版教材编制。试题旨在检验学生对英语语法、词汇、句型以及日常交际用语的理解和运用能力。下面将详细解析部分题目所涉及的英语...
标题“curso-rest-apis-lab2”暗示这是一个关于REST API的课程或实验的第二部分,可能涉及实际操作和练习。REST(Representational State Transfer)是一种软件架构风格,用于设计网络应用程序,尤其是Web服务。它...
实验室包含三个部分,不同的 Git 分支建立在上一部分的工作之上,所以如果你卡住了,你可以随时检查下一个分支。 并查看解决方案。 部分是: ##Part 1, 基本代码结构和依赖。 Git 分支主。 这是实验室的起点。 通过...
todos-jersey 是一个示例 REST+JSON 应用程序,它演示了使用 JAX-RS/Jersey 的 Stormpath 用户管理。 Stormpath 是一个用户管理 API,它通过即时、可扩展的用户基础架构来缩短开发时间。 Stormpath 直观的 API 和...
该压缩包包含的是一个基于Java、SpringBoot和Vue技术栈开发的旅游景区门票网站管理系统的完整源码,以及相关的实验报告和运行说明。这个系统旨在提供一个高效、便捷的平台,用于管理旅游景区的售票业务,包括但不...
matlab导入xlsx数据代码一步一步使用 CONN (rest_pipeline) 的静息状态 fMRI 分析管道 此代码仅用于我们的...当您第一次运行分析并希望得到连通性矩阵时,请运行除二级分析之外的所有内容。 如果您需要指定其他 CONN