`

restlet session问题

    博客分类:
  • rest
 
阅读更多

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

    RESTlet是一款开源框架,专为构建基于REST(Representational State Transfer)原则的Web服务和应用程序设计。REST是一种轻量级的架构风格,广泛应用于互联网应用的开发,它强调通过简单的HTTP方法(如GET、POST、...

    Restlet所需要的所有jar包

    在使用过程中,要注意版本兼容性问题,确保Restlet框架及其依赖库与你的Java运行环境和其它库相兼容。此外,理解RESTful设计原则,如资源的URI定位、状态码的使用、无状态通信等,对于有效利用Restlet构建高质量的...

    org.restlet-2.3.0.jar 最新版本

    7. **文档和社区支持**:官方文档详尽且更新及时,社区活跃,遇到问题时能得到及时的帮助。 在实际应用中,开发者可以使用org.restlet库构建服务器端的RESTful资源,定义处理HTTP请求的处理器,以及处理响应的方法...

    org.restlet.jar

    org.restlet.jar

    Restlet开发的Basic认证

    Restlet是一个轻量级的Java Web服务开发框架,它提供了构建RESTful(Representational State Transfer)应用程序的工具和API。REST是一种架构风格,强调简洁、无状态和可缓存的网络交互,常用于构建高性能、高可用性...

    restlet2.1学习笔记项目代码

    Restlet是一个开源框架,专为构建RESTful(Representational State Transfer)Web服务而设计。REST是一种轻量级的架构风格,常用于构建可扩展、高性能的互联网应用程序。本项目是针对Restlet 2.1版本的学习笔记,...

    Restlet Client 插件安装包

    **Restlet Client插件安装包详解** 在现代的Web应用开发中,API(Application Programming Interface)扮演着至关重要的角色,尤其是RESTful API,它已成为构建分布式系统和微服务架构的标准。为了有效地测试和调试...

    RESTLET框架学习书籍

    - **附录D:其他帮助信息**:包含额外的技术支持信息和常见问题解答。 通过上述内容的学习和实践,开发者可以全面掌握RESTLET框架的使用方法,并能够运用其构建高效、稳定、易于维护的RESTful Web应用和服务。

    restlet实现最简单的restful webservice

    Restlet是一款开源框架,专为构建RESTful Web服务和客户端应用程序设计。REST(Representational State Transfer)是一种轻量级的架构风格,广泛用于构建互联网应用,因为它提供了高效、分布式的系统设计原则。本文...

    RESTLET开发

    ### RESTLET开发实例详解 #### 一、RESTLET框架简介 **RESTLET**是一个轻量级且全面的框架,旨在实现REST(Representational State Transfer)原则与Java类之间的映射。该框架支持广泛的REST式系统构建,不仅仅...

    restlet项目

    Restlet项目是一个开源框架,专门用于构建RESTful(Representational State Transfer)Web服务。REST是一种软件架构风格,它强调简洁、可扩展性和无状态性,是Web服务设计的主流方式。Restlet框架提供了全面的工具集...

    Restlet与Spring 集成

    Restlet与Spring集成是将Restlet框架与Spring框架结合,以增强RESTful服务的开发能力。Restlet是一个轻量级的Java框架,专门用于构建REST(Representational State Transfer)架构风格的应用程序。它遵循JAX-RS...

    Restlet开发实例

    Restlet是一款强大的开源框架,专为构建RESTful(Representational State Transfer)Web服务而设计。REST是一种轻量级的架构风格,广泛应用于Web应用程序的开发,以提高性能、可伸缩性和可维护性。本系列的开发实例...

    restlet restful

    "绝对不坑"可能意味着这个项目或者RESTlet框架在使用过程中相对稳定,没有太多隐藏的陷阱或者难以理解的问题,开发者可以放心使用。 在提供的压缩包文件名称列表中,只有一个名为"RestApplication"的文件或目录。这...

    Restlet in action 英文 完整版

    ### Restlet in Action:开发Java中的RESTful Web API #### 一、概述 《Restlet in Action》是一本深入探讨如何使用Restlet框架来构建RESTful Web服务的书籍。本书由Jérôme Louvel、Thierry Templier和Thierry ...

    Restlet Client-2.13.2

    Restlet Client插件是一款运行在chrome内核浏览器上的Web服务测试插件,该插件主要用于测试各种Web服务,能查看网站基本信息、浏览网页代码并能发送HTTP请求来测试网站Web服务,同时支持自动化API场景。用户在安装了...

    restlet1.1文档

    ### 关于Restlet 1.1的关键知识点 #### 一、Restlet简介 Restlet是一个用Java编写的轻量级框架,旨在支持REST(Representational State Transfer)架构风格的应用程序开发。它简单易学,适合那些希望利用REST原则...

    restlet-jee-2.2.2

    9. **社区支持**:Restlet拥有活跃的开发者社区,提供文档、示例和论坛支持,帮助开发者解决问题和分享经验。 10. **版本更新**:"2.2.2"这个版本可能包含了bug修复、性能提升和新功能的添加,以保持与当时最新技术...

Global site tag (gtag.js) - Google Analytics