使用会话是在 java 中实现购物车的最佳方式吗?

is using a session is the best way of implementing a shopping cart in java?

我想在即将进行的 java 项目中实现购物车(我将使用您的基本 JSP 和 servlet)

我首先想到的是将购物车元素存储在用户会话(httpsession)中,但我认为这样做很糟糕,因为购物车不会在多个浏览器之间共享(即这意味着如果我使用 firefox 开始购物,关闭它然后使用 chrome 登录,我将无法取回我的购物车。

我的问题是,上面的假设是否正确?为了实现这一点,我是否需要手动将购物车元素保存到某个商店,并在登录后将其注入到新创建的会话中?有没有办法自动执行此操作?

如果您想保留您的购物车以便它在登录之间甚至在不同的浏览器中保持活动状态,那么服务器端商店确实是唯一的选择。

客户端框架可能能够将购物车存储在本地存储中,但 a) 在不同的浏览器之间不起作用,b) 如果用户清理存储,它仍然可能丢失。

对于您的'datastore',您可以使用数据库,也许使用像 hibernate 或 eclipselink 之类的东西来自动交互,或者您可以实现文件存储甚至内存中的集群存储,例如 redis。这取决于您的要求。

真的,您应该获得有关您想要实现的目标的更多信息,也许可以阅读一本关于 Web 应用程序设计的书来了解基础知识。因为你的问题真的有点太宽泛了。