2012-06-21 81 views
1

我有一个JSP应用程序在登录页面连接到oracle。我怎样才能保持这个连接的活动并在另一个页面上执行查询?保持oracle连接处于活动状态,访问oracle

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

最好的事情是你实现设计模式[** Model-view-controller **](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) –

回答

1

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

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

0

这绝对不是要走的路。尝试实施另一种解决方案,因为当我看到它时,你正在尝试拍摄自己的脚。

如果您使用支持池连接的应用程序服务器,请尝试使用该服务器。如果不是,请尝试在单独的请求中打开和关闭连接。如果您希望在打开的会话期间保持与db的打开连接,会随着会话数量的增长而快速消除所有资源。尝试在应用程序的生命周期中保持单个连接打开更糟糕。

0

它不是一个好的做法,有这种情况。 但您可以使用 session.setAttribute(“con”,con);将此con对象存储到会话范围中。 以及您需要的任何页面,请使用 Connection con =(Connection)session.getAttribute(“con”);

相关问题