gpt4 book ai didi

java - 在 HttpSession 中存储 JDBC 连接

转载 作者:搜寻专家 更新时间:2023-10-31 19:42:05 24 4
gpt4 key购买 nike

我最近继承了一些代码,其中我发现一个 JDBC 连接正在过滤器中初始化,并为每个用户添加了 HttpSession。然后,该连接会在用户的 Web 应用程序的各个部分重复使用。这立即让我觉得是一种代码味道。我想回到编写它的开发人员那里,并解释为什么他不应该那样做……但也许我自己也不太确定……

除了在内存中占用不必要的空间并可能限制与数据库的可用连接之外,还有其他原因导致您不在 session 中存储 JDBC 连接吗?

最佳答案

您提到了一个显而易见的问题,一个用户到一个数据库的连接是不可扩展的。您的用户应该完全脱离对数据模型的访问。以下是您会遇到的几个问题。

  • 如果连接失效会怎样?如果没有数据库连接,该用户将无法做任何有用的事情,因此他们可能必须注销然后重新登录才能获得新连接。疯了。
  • JDBC 连接不是线程安全的。如果用户决定同时运行几件事情,一切都会变得一团糟。

关于java - 在 HttpSession 中存储 JDBC 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3252844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com