我有一个控制器
@Controller
@Scope("request")
public class CartManagementController
{
@Autowired
private ShoppingCart cart;
@RequestMapping("/addToCart")
public ModelAndView addToCart(@RequestParam("id") int id)
{
// now just use the cart
}
}
和一个会话范围的bean:
@Component
@Scope("session")
public class ShoppingCart
{
// just a plain java class - member variables and methods as usual
}
我遇到了一个间歇性问题,即会话在对 addToCart() 的后续请求之间没有持续存在。在第一次通话时,购物车可用并添加了一些东西。在下一个请求中,正在创建一个新的购物车对象。结果,只有在两次调用 addToCart 之后,购物车中才只有一件商品。在第二次调用后,会话按预期持续。只有第一个调用没有被持久化。