gpt4 book ai didi

Javaobject "Connection"不适用于禁用的 Cookie

转载 作者:行者123 更新时间:2023-12-01 15:00:29 27 4
gpt4 key购买 nike

我遇到禁用 Cookie 的问题。我有一个用户使用其用户帐户登录的页面。如果登录成功,连接本身将保存在 session 中。

request.getSession().setAttribute("connection"  , connection);

DBConnection对象,在Session中名为connection,是一个Object,它有一个静态的Connection con对象

protected static Connection con = null;

当用户登录时,将建立连接

con = DriverManager.getConnection(url, this.user, this.password);

这也适用于激活的 cookie。如果正在检查连接和 con 对象,我想用 System.out.println. 保存

System.out.println(("DBConnection == null: " + connection == null));
System.out.println("Connection" connection.getCon());
//result ->
//DBConnection == null: false
//oracle.jdbc.driver.T4CConnection@15d51e5

至此登录成功。现在,用户通过按钮离开这一侧并转到一些其他信息页面。在这里我再次需要这个连接,我正在 Servlet 中获取它。

DBConnection connection = (DBConnection)request.getSession().getAttribute("connection");

使用与之前相同的 System.out.println,当启用 cookie 时,它​​会给出与之前相同的结果。当 cookie 被禁用时,它会抛出异常,结果如下:

DBConnection == null: false
java.lang.NullPointerException

现在是我的问题。当我禁用 cookie 时,为什么我的连接会中断?在我看来,cookie 没有任何东西可以处理连接对象,或者保存在 JSP 中的任何其他对象?抛出空指针的连接对象是包中的对象java.sql.Connection;

最佳答案

这个问题与应用程序或 Web 服务器如何在客户端存储 session ID 有关:它们为此使用 cookie。

关于如何为禁用的 cookie 客户端启用 session 绑定(bind),您可以在同一站点上检查此相关问题:How can i do sessions in java if some one disables cookies in my browser?

关于Javaobject "Connection"不适用于禁用的 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13723884/

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