» 网友学堂 » Oracle教程 » Eclipse3.2+Tomcat5.5.17+Oracle9配置 2 -> 当日更新
Eclipse3.2+Tomcat5.5.17+Oracle9配置 2
作者:ljjk5 发表时间:2007-3-3 08:33 阅读:216次 在百度搜索相关内容

<Resource
name="jdbc/Oracle"
type="javax.sql.DataSource"
password="11111"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="2"
maxWait="5000"
username="luhao"
url="jdbc:oracle:thin:@localhost:1521:NBZJU"
maxActive="4"/>

  数据源配置完成后,还须配置相关的上下文信息context,来使程序获得JDNI初始化引用,从而定位数据源。由于之前定义的是全局资源,我们可在apache-tomcat-5.5.17\conf\context.xml文件中的Context元素中加入关联属性:

<ResourceLink global="jdbc/Oracle" name="jdbc/Oracle" type="javax.sql.DataSource"/>

  4.创建测试Web程序

  运行eclipse,新建一个Tomcat项目到任意的当前工作空间,此处项目取名quickstart。当项目一经创建,我们就可以发现apache-tomcat-5.5.17\conf目录下server.xml文件的Host元素内自动增加了以下属性内容(用来关联发布Web应用程序的工作目录):

<Host
appBase="webapps"
name="localhost"><Context path="/quickstart" reloadable="true" docBase="E:\luhao\workspace\quickstart" workDir="E:\luhao\workspace\quickstart\work" />

</Host>

  新建JSP测试页面index.jsp到quickstart工程目录下(JSP页面编辑需要有支持Web开发功能的eclipse插件支持,如MyEclipse、WTP等插件),代码如下:

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<html><head><title>Oracle JDBC Test</title></head>
<body>
<%
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
ResultSetMetaData md=null;
try{
 Context initCtx=new InitialContext();
 //获得JNDI初始化上下文信息,即获取目录上下文的引用
 DataSource ds=(DataSource)initCtx.lookup("java:comp/env/jdbc/Oracle");
 //定位数据源jdbc/Oracle
 if(ds!=null){
  out.println("已经获得DataSource");
  out.println(ds.toString());
  conn=ds.getConnection();
  if(conn!=null){
   out.println("create connection sucess!");
   stmt=conn.createStatement();
   out.println("createStatement Success!");
   rs=stmt.executeQuery("select * from LUHAO.USER_INF");
   md=rs.getMetaData();
   out.println("<table border=1>");
   out.println("<tr>");
   for(int i=0;i<md.getColumnCount();i++){
    out.println("<td>"+md.getColumnName(i+1)+"</td>");
   }
   while(rs.next()){
    out.println("<tr>");
    out.println("<td>"+rs.getString(1)+"</td>");
    out.println("<td>"+rs.getString(2)+"</td>");
    out.println("<td>"+rs.getString(3)+"</td>");
    out.println("<td>");
   }
   out.println("</table>");
   conn.close();
  }
 }
}catch(Exception e){
 out.println(e.toString());
 System.out.println(e.toString());
}
%>
</body>
</html>

  5.启动数据库,运行测试程序

  运行测试页面前必须先启动后台数据库。办法是打开Oracle SQL Plus,用DBA身份连接入NBZJU数据库:conn luhao/11111 as sysdba,再用命令:startup完成启动数据库(shutdown可以关闭数据库)。

  保存工程,启动Tomcat,打开http://localhost:8008/quickstart/页面。若能看到各种连接成功的消息及完整的USER_INF测试表内容,那么表明整个Web测试程序运行成功了!

  总结:

  实际的整合配置过程,除上述全局化配置方法可行外,还可以采用局部化配置方法(某些版本Tomcat可能行不通)。局部化配置方法较全局化配置方法区别仅在于将数据源jdbc/Oracle的Resource属性内容加入工程所在quickstart目录下的META-INF\context.xml文件的Context元素中去,而不用改变Tomcat目录的conf子目录下的server.xml和context.xml文件。

#Advertisement