保持oracle连接活着,访问oracle

时间:2012-06-21 20:18:17

标签: java oracle jsp

我有一个JSP应用程序,它在登录页面上连接到oracle。如何保持此连接存活并在另一个页面上执行查询?

DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@" + HOST + ":1521:fcprod", request.getParameter("username"), request.getParameter("password"));

3 个答案:

答案 0 :(得分:1)

我使用连接池的c3p0保持连接存活。它具有在不使用时保持连接活动的命令。我在grails应用程序(类似于jsp)和基于hibernate的应用程序中使用它。

上面的评论是正确的,你会想要将连接信息从页面移到控制器(不是一个好主意)或服务(可能是最好的主意)。

答案 1 :(得分:0)

这绝对不是要走的路。尝试实施另一种解决方案,因为我认为你正试图自己动手。

如果您使用支持池化连接的应用程序服务器,请尝试使用它。如果没有,请尝试在单独的请求中打开和关闭连接。如果要在打开的会话期间保持与数据库的打开连接,随着会话数量的增加,这将快速消除所有资源。尝试在应用程序的生命周期内保持单个连接打开更糟糕。

答案 2 :(得分:0)

拥有这样的场景不是一个好习惯。 但您可以使用将此con对象存储到会话范围中 session.setAttribute(“con”,con); 并在您需要的任何页面上使用 Connection con =(Connection)session.getAttribute(“con”);