Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 第二次访问的空数据_Java_Postgresql_Jsp - Fatal编程技术网

Java 第二次访问的空数据

Java 第二次访问的空数据,java,postgresql,jsp,Java,Postgresql,Jsp,很遗憾,我甚至不知道如何描述这个错误lol:( 我想显示一个图像,我已将其路径存储在数据库中。我的代码第一次访问数据库时工作正常。但是,我的代码第二次访问数据库时检索空值,依此类推。我盯着代码看了几个小时,但找不到错误lol:( getimage.jsp <form action="getimage" method="get"> <input type="text"> <input type="submit" name="getimage">

很遗憾,我甚至不知道如何描述这个错误lol:(

我想显示一个图像,我已将其路径存储在数据库中。我的代码第一次访问数据库时工作正常。但是,我的代码第二次访问数据库时检索空值,依此类推。我盯着代码看了几个小时,但找不到错误lol:(

getimage.jsp

<form action="getimage" method="get">
    <input type="text">
    <input type="submit" name="getimage">
</form>

<c:forEach var="image" items="${image_path}">
    <img src="${image}"/>
</c:forEach>
这是控制台上的消息显示,我将其嵌入ImageDao.java中: 首次访问:

8: org.postgresql.jdbc4.Jdbc4Connection@3d3cdc3b
8: upload/download.jpg 8
Id: 8 path: upload/download.jpg
第二次访问:

8: org.postgresql.jdbc4.Jdbc4Connection@3d3cdc3b
Cant get it
Id: 0 path: null

您只在singleton构造函数中创建了一次连接,并在第一个查询结束时将其关闭

然后,在第二个查询中,连接关闭,您无法执行查询


改为在查询之前创建连接。

不是因为您在单例创建中创建了连接,然后在查询之后关闭连接,再也不创建连接吗?您知道我可以从哪里了解更多关于并发和线程安全技术的知识吗?有很多关于它的好书(这本书有点像参考书-),其中一些在您购买二手电脑时非常便宜。但特别是在这种情况下,我建议您使用连接池获取并重用数据库连接,然后您的代码就会正常运行。感谢您的建议。不客气。欢迎使用堆栈溢出;-)
8: org.postgresql.jdbc4.Jdbc4Connection@3d3cdc3b
8: upload/download.jpg 8
Id: 8 path: upload/download.jpg
8: org.postgresql.jdbc4.Jdbc4Connection@3d3cdc3b
Cant get it
Id: 0 path: null