【问题标题】:How best to store user data in Spring?在 Spring 中如何最好地存储用户数据?
【发布时间】:2016-11-26 21:14:52
【问题描述】:

现在我正在尝试在 Spring 上开发网上商店,现在正在尝试创建购物车。在购物车中存储计数、总和和产品列表等数据的最佳方式是什么?我用过HttpSession和Cookies,但是Cookies不能存储列表……

【问题讨论】:

    标签: spring spring-mvc servlets


    【解决方案1】:

    购物车是一个 pojo,这些字段是您对象的属性。 您可以将其持久化到数据库或会话中。

    在会话中执行,例如:

    没有最好的方法,只有在你所拥有的上下文中你应该这样做。

    但是将它保存在数据库中可以让您拥有购物车历史记录,您可以在会话结束后记住用户购物车,并且您可以更轻松地扩展,因为您可以在多个服务器实例之间共享您的状态。

    用实体来做:

    只是一个提议:

    您可以将匿名帐户关联到用户会话,并且此匿名帐户拥有购物车。如果用户创建一个真实帐户,您将匿名帐户转换为真实帐户并保持购物车订购。如果用户从不返回,您应该有一个规则,每隔一段时间清理一次匿名数据。如果您可以知道匿名用户的用户电子邮件(例如:注册时事通讯的弹出窗口),您可以给他回电以记住他在网站上有等待购物车。

    【讨论】:

    • 谢谢。如果我将使用数据库,我将如何识别用户?我应该把用户 ip 当作一个关键参数吗?
    • 你好。您可以将匿名用户帐户关联到用户会话。匿名用户帐户拥有购物车,如果匿名用户失去其会话,您每 x 天清理一次所有内容(根据您的业务分析,您可能希望保留匿名购物车一段时间)。如果用户创建了一个帐户,您可以将他的匿名帐户提升为真实用户,并保留其数据。也许太复杂了,也许这是你想要的,也许不是。这只是一个提议。我编辑答案。
    • 再次感谢。很有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 1970-01-01
    相关资源
    最近更新 更多