restlet中是不提畅使用session的,所以restlet更适合做无状态的服务,如果象购物车这样的业务该怎么样呢,实际上restlet也不是完全不能
实现session,在API中有一个org.restlet.data.Cookie类,我们可以借助cookie来实现。
public class SessionTestResource extends Resource {
private ShopCart chart1 = null;
@Override
public void init(Context context, Request request, Response response) {
// TODO Auto-generated method stub
super.init(context, request, response);
String token = request.getCookies().getFirstValue("tsession");
if (token == null) {
chart1 = new ShopCart();
chart1.setToken("chart1");
token = chart1.getToken();
response.getCookieSettings().add(
new CookieSetting("tsession", token));
chart1.add();
centers.add(token, chart1);
} else {
chart1 = centers.getchart(token);
chart1.add();
}
}
public SessionTestResource() {
getVariants().add(new Variant(MediaType.TEXT_PLAIN));
}
public SessionTestResource(Context context, Request request,
Response response) {
super(context, request, response);
}
@Override
public Representation getRepresentation(Variant variant) {
String count=""+chart1.getCount();
Representation representation = new StringRepresentation(count,
MediaType.TEXT_PLAIN);
return representation;
}
}
可以看到非常简单,由于用spring来管理resource路由,需要一个无参数的construct,所以不能在构造函数中完成,所以在init方法中完成,如果 cookie被禁止的话,可能只有把状态放在URL中了,初期想法,不是很成熟,大家一起来讨论吧。
分享到:
相关推荐
restlet相关文档
org.restlet.jar
一个简单的Restlet开发框架的Basic认证的例子
Restlet与Spring 集成
Restlet Client插件是一款运行在chrome内核浏览器上的Web服务测试插件,该插件主要用于测试各种Web服务,能查看网站基本信息、浏览网页代码并能发送HTTP请求来测试网站Web服务,同时支持自动化API场景。用户在安装了...
restlet项目
Restlet所需要的所有jar包 一次下载,以后高枕无忧!
restlet2.1学习笔记项目代码
RESTLET开发实例(二)使用Component、Application的REST服务
restlet入门helloworld示例
本文是对Restlet官方教程http://restlet.com/learn/tutorial/2.2/的中文翻译。
Restlet2.0用户指南
RESTLET框架学习书籍
Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架。它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务;而且,事实证明它自从2005年诞生之时起,就是一个可靠的软件。 ...
Restlet Client 插件是一个类似Postman的Api接口测试工具, 界面友好, UI布局也更合理。相比Postman, Restlet Client无需安装本地客户端, 即装即用, 占用空间小, 功能强大。
restlet restful,web工程,可直接运行。启动后,main方法作为client运行调用服务端。服务器数据之间沟通利器,绝对不坑。
org.restlet.ext.spring.jar
资源里面包含了Restlet从入门到高级的开发过程,对学习Restlet有很大的帮助
RESTLET开发实例(一)基于JAX-RS的REST服务