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

标签 java javascript servlets cookies

我遇到禁用 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/

相关文章:

javascript - 我应该如何在 Angular ui-router 中创建 templateUrl 属性的路径?

java - Java中如何匹配数据库中不同表的唯一ID并根据该唯一ID检索数据?

java - 如何找到 FileItemIterator 返回的 FileItemStream 的编码?

servlets - Servlet 中的 PrintWriter out = response.getWriter() 是什么?

java - 使用 Spring Data Repositories 对审计信息进行自定义 JSON 序列化

java - 如何在java中找到两个arraylist之间的差异

java - Oozie Java操作失败,原因如下:java.lang.ClassNotFoundException:com.fasterxml.jackson.core.exc.InputCoercionException

javascript - 使用 Jquery 隐藏动态生成的 <p>

java - Android Studio蓝屏后无法解决错误

javascript - 关于对象: newObject=JSON. parse(JSON.stringify(object))的不可变更新模式?