日期:2014-05-16  浏览次数:20431 次

OpenCms中操作外部数据库的方法之二

转载:http://wangyi878750.blog.sohu.com/83954845.html

? ? 昨天说了使用OpenCms自己的配置文件配置数据库连接池.而实质上和我们在Tomcat里面配置数据源大部分是一致的.要说不同呢,我觉得,你管理OpenCms的应用,就可能没有权限操作服务器上其他的目录,所以这个时候,会在你权限许可的范围内就可以配置使用其他的数据库了,这个还是必要的.当然,前提是你有数据库的操作权限.?
??? 但是还有另一种情况可能发生,就是你操作的这个数据库可能其他的应用也使用,甚至几个应用同时使用,譬如说一个共享的用户资料的数据库.那么,使用之前说的这个方法就是不使用的,因为你OpenCms配置连接池是可用了,但是没有办法和其他的公用啊,还需要重新配置.接下来说的方法,就通用多了.
??? 那就是:配置Web容器的数据库连接池?,呵呵,这个估计很多人都在使用.不错,这个最基本的,也是最有效的方法.因为在OpenCms里面使用代码连接连接池,和其他的java应用是完全一样的.你完全可以在建立了一个叫"test"的连接池之后,使用如下代码来操作:

<%
try
{
 Context ctx = new InitialContext();
 DataSource ds = (DataSource)ctx.lookup("java:comp/env/test");
 Connection conn = ds.getConnection();
 Statement stmt = conn.createStatement();
 ResultSet rs =stmt.executeQuery("select MemberName from mvnforummember");
 out.println("取得的数据如下:<br>");
 while(rs.next())
 {
  out.println(rs.getString(1));
  out.println("<p>");
 }
 rs.close();
 stmt.close();
}
catch(Exception e)
{
 e.printStackTrace();
}
%>

??? 但是前提就是:你有这个权限设置Web容器的连接池.当然了,如果你仅仅是读取别人已经建立的连接池的话,那么用这个方法是最简单不过了.
??? 提醒大家的是:OpenCms也只是一个java的应用而已,不要忘记了基本的java和jsp操作喔!