我希望我的网络应用程序从中断的地方继续,或者继续其旧会话,而不管打开它的浏览器。
我的应用程序使用的主要技术是java,spring,Hibernate和angular5。
我做了一些研究,它建议我使用cookie来保存会话数据。
使用cookies是我实现它的唯一方法还是有更好的方法来实现它?
先谢谢你
答案 0 :(得分:1)
如果您希望在多个浏览器(irrespective of the browser in which it is opened
)之间拥有会话数据,则cookie和localStorage不会帮助您,因为这些只与一个浏览器实例相关。
您需要的是将您希望在会话中拥有的所有数据存储在数据库中的适当数据模型中,然后每次用户登录时,您都会获取该数据并将其添加到当前服务器会话。当然,如果有任何更新,您还必须更新数据。
E.g。对于存储在您的帐户而不是cookie或浏览器中的购物车(如亚马逊),您将拥有一个与客户ID相关的表ShoppingCart
,然后CartItems
与购物车的外键,您将获取当前登录的客户的购物车,以显示所有商品。