JSP+Tomcat连接Oracle数据库

转自:http://hi.baidu.com/8410zhangwei/blog/item/b215a530c7e91b9da8018e64.html

1.   首先安裝JDK   1.4.2_01   ,   http://java.sun.com/j2se/  
2.   接著安裝Oracle9i,   安裝完成之後先更改XML   Database的參數  
因為XML   Database的Http   Server預設使用port   8080,   會和Tomcat相衝  
建議更改為8081,   參考這兩張圖  
http://home.pchome.com.tw/service/anthonycs/image/oracle04.gif  
http://home.pchome.com.tw/service/anthonycs/image/oracle05.gif  
3.接著安裝Tomcat,   使用上面安裝的JDK1.4.2_01作為Tomcat的Virtual   Machine  
4.下載Oracle   JDBC   Driver  
http://otn.oracle.com/software/tech/java/sqlj_jdbc/content.html  
依照JDK1.4.2_01,   Oracle   9.2.0.1.0的版本,   是三個檔案   ocrs12.zip   ojdbc14.jar   ojdbc14_g.jar  
將下載的檔案放置到   /webapps/examples/WEB-INF/lib/   裡面  
重新啟動Tomcat服務  
注意   :要挑選正確的JDK以及Oracle版本的Driver  
JDK,Tomcat,Oracle   JDBC   Driver   三者要協調好  
尤其小心系統有兩個以上的JDK版本,   以安裝Tomcat時的JDK版本為主  
5.設定Oracle資料庫帳號供程式使用   (如果您已經熟悉帳號管理,請跳過此步驟)  
這邊以預設資料庫的HR為範例,   參考下面三張圖   ,   畫面較大,   抓下來欣賞比較好  
http://home.pchome.com.tw/service/anthonycs/image/oracle01.gif  
http://home.pchome.com.tw/service/anthonycs/image/oracle02.gif  
http://home.pchome.com.tw/service/anthonycs/image/oracle03.gif  
6.寫JSP網頁,   參考以下  
藍色部分依照您的Oracle主機設定而異   (IP,   SID,密碼)  
<%@   page   contentType="text/html;charset=big5"   language="java"   import="java.sql.*,   oracle.jdbc.*"%>  
<HTML>  
    <HEAD>  
   <TITLE></TITLE>  
    </HEAD>  
    <BODY>    
   測試OracleDriver  
     <P>  
     <%    
      ResultSet   rs   =   null;    
      String   oracleURL="jdbc:oracle:thin:@Oracle主機ip:1521:SID";    
      String   oracleUser="HR";      
      String   oraclePass="xxxx";    
      try   {        
          DriverManager.registerDriver(new   oracle.jdbc.driver.OracleDriver());    
           }  
      catch   (SQLException   e){        
          out.print("Driver   Error");  }    
      try   {        
           Connection   conn   =   DriverManager.getConnection(oracleURL,oracleUser,oraclePass);        Statement   stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);        
             rs=stmt.executeQuery("select   *   from   EMPLOYEES");        
             rs.last();        
             out.print("HR資料庫中有員工"+rs.getRow()+"個");        
             rs.close();        
             stmt.close();        
             conn.close();    
         }  
         catch   (SQLException   ce){    
           System.out.print(ce);    
      }  
   %>  
    </BODY>  
</HTML>  
將JSP檔案存成test.jsp放在   /webapps/examples/   裡面  
測試結果  
http://localhost:8080/examples/test.jsp  
   
   
   
   
1.设置Tomcat的连接池数据源。  
      访问  
http://127.0.0.1:8080/admin   页面,用刚才安装   Tomcat4   时填写的用户名和密码登录。  
      登录成功后,会出现Tomcat   的web应用管理界面(Tomcat   Web   Server   Administration   Tool)。  
      如果是解压安装版就在X:/tomcat/conf/tomcat-users.xml文件里加上  
      <role   rolename="manager"/>  
      <role   rolename="admin"/>  
      <user   username="admin"   password="admin"   roles="admin,manager"/>  
      然后在左边的目录树点击"Data   Sources"项,右边可以看到JNDI配置的页面。  
      在右上角的下拉框中选择"Create   New   Data   Source",接下来填写配置信息:  
          JNDI   Name:   jdbc/myOrcl      
      Data   Source   URL:   jdbc:oracle:thin:@192.168.6.40:1521:dbserver  
      JDBC   Driver   Class:   oracle.jdbc.driver.OracleDriver  
      User   Name:   myname  
      Password:   mypassword  
      Max.   Active   Connections:     可用默认值    
      Max.   Idle   Connections:         可用默认值  
      Max.   Wait   for   Connection:   可用默认值  
      Validation   Query:   可不填写。  
      然后,按下"save"按钮保存。  
      再按下"Commit   Changes"按钮将配置更改提交完成。  
      此时如果看看   Tomcat4   的窗口,会发现在最下面有一行文字提示:      
        Debugging   --   changes   saved   to   conf/server.xml  
      此时   D:/Tomcat   4.1/conf/server.xml   文件的配置已经更改保存完毕。  
      如果此时打开D:/Tomcat   4.1/conf/server.xml   文件,会发现server.xml   文件的内容改变了很多。  
      一些注释文字都被去掉了。  
        对Oracle的应用连接池已经配置完毕。  
        仔细对照server.xml   文件,会发现刚才所配置的连接池信息被放置在标签中,这意味着这个信息是可以被全局引用的,大致是如下的样子:  
                  maxWait  
                  5000  
                  maxActive  
                  200  
                  password  
                  mypassword  
                  url  
                  jdbc:oracle:thin:@192.168.6.40:1521:dbserver  
                  driverClassName  
                  oracle.jdbc.driver.OracleDriver  
                  maxIdle  
                  20  
                  username  
                  myname  
                  factory  
                  org.apache.catalina.users.MemoryUserDatabaseFactory  
                  pathname  
                  conf/tomcat-users.xml  
2.设置web应用对连接池的引用。    
      打开D:/Tomcat   4.1/conf/server.xml   文件,找到刚才配置的web应用文字,由于刚才server.xml   文件被自动修改过,并去掉了很多注释内容,所以刚才配置的web应用  
      被自动修改成了这样的:  
      在的描述中加上本web应用对全局连接池的引用说明,如下文字:  
      设置完成后,web应用的描述大致如下面的样子:  
      保存D:/Tomcat   4.1/conf/server.xml   文件。  
      注意,设置这个连接池的引用说明是非常重要的一步。  
      一些朋友在Tomcat4中配置连接池失败的原因大都归咎与此。  
3.一般情况下,到此,连接池的设置就完成了。  
      然后需要重新启动Tomcat,这样就可以使用连接池来工作了。  
      但是,看到很多文章上说,还需要设置一下web.xml才能应用。我没有设置web.xml,连接池也可以完全使用。  
      现在说一下web.xml的配置方法。  
      在D:/mypool中新建文件夹,命名为WEB-INF,注意是大写的字母。  
      然后在D:/mypool/WEB-INF/   下新建文件web.xml,其内容为:  
                  Oracle   DataSource   example  
                  jdbc/myOrcl  
                  javax.sql.DataSource  
                  Container  
      保存D:/mypool/WEB-INF/web.xml   文件。  

----------------------------------------------------------------------------------------------------------

     转自:http://www.cnblogs.com/Javalove/archive/2010/11/27/1889841.html

     1.安装jdk(版本6u7);

  2.配置jdk环境变量(安装目录:D:/tools/java/jdk1.6.0_07):

  1). JAVA_HOME = D:/tools/java/jdk1.6.0_07;

  2). Path的最前面追加"D:/tools/java/jdk1.6.0_07/bin;D:/tools/java/jre1.6.0_07/bin";

  3). CLASSPATH = D:/tools/java/jdk1.6.0_07/lib;D:/tools/java/jdk1.6.0_07/lib/tools.jar;

  3.安装 tomcat(版本6.0.20)

  4.配置tomcat环境变量(安装目录:D:/tools/tomcat6.0)

  1).CATALINA_HOME=D:/tools/tomcat6.0;

  2).CATALINA_BASE=D:/tools/tomcat6.0;

  3).CLASSPATH后面追加"%CATALINA_HOME%/lib/servlet-api.jar;"

  5.安装oracle数据库(版本10g)

  数据库名:orcl

  用户名:mydata

  密码:oracle

  6.配置tomcat与oracle的连接

  1).D:/tools/tomcat6.0/conf/server.xml追加如下内容:

  <Context path="/test" reloadable="true" docBase="D:/tools/tomcat6.0/webapps/test" debug="0" >

  <Resource name="jdbc/oracle" auth="Container" type="javax.sql.DataSource"

  maxActive="5" maxIdle="4" maxWait="10000"

  username="mydata" password="oracle" driverClassName="oracle.jdbc.driver.OracleDriver"

  url="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"/>

  </Context>

  说明:①、path="/test"(/test为tomcat中webapps目录下的工程文件夹)

  ②、docBase="D:/tools/tomcat6.0/webapps/test"(path中工程文件夹所在的绝对路径)

  ③、username="mydata"(oracle数据库的用户名)

  ④、password="oracle"(oracle数据库的密码)

  ⑤、url="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"/>(ORCL为oracle数据库名)

  2).

  在D:/tools/tomcat6.0/lib文件夹里放入oracle驱动文件ojdbc14.jar(此文件可在网上下载)

  3).在webapps下新建工程文件夹test,在test文件夹下新建WEB-INF文件夹和test.jsp文件;

  在WEB-INF文件夹下新建lib文件夹和web.xml文件;在lib文件夹下放入oracle驱动文件

  ojdbc14.jar(此文件可在网上下载)

  web.xml文件内容如下:

  <?xml version="1.0" encoding="ISO-8859-1"?>

  <!--

  Copyright 2004 The Apache Software Foundation

  Licensed under the Apache License, Version 2.0 (the "License");

  you may not use this file except in compliance with the License.

  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software

  distributed under the License is distributed on an "AS IS" BASIS,

  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  See the License for the specific language governing permissions and

  limitations under the License.

  -->

  <web-app>

  <resource-ref>

  <description>DB Connection</description>

  <res-ref-name>jdbc/oracle</res-ref-name>

  <res-type>javax.sql.DataSource</res-type>

  <res-auth>Container</res-auth>

  </resource-ref>

  </web-app>

  test.jsp文件内容如下:

  <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

  <%@ page import="java.sql.*"%>

  <%@ page import="javax.sql.*"%>

  <%@ page import="javax.naming.*"%>

  <%

  try {

  Context initCtx = new InitialContext();

  Context envCtx = (Context) initCtx.lookup("java:comp/env");

  DataSource ds = (DataSource) envCtx.lookup("jdbc/oracle");

  Connection conn = ds.getConnection();

  Statement stmt = conn.createStatement();

  ResultSet rst = stmt.executeQuery("select stuAge from students");

  while (rst.next()) {

  out.println(rst.getInt(1));

  }

  conn.close();

  } catch (Exception e) {

  e.printStackTrace();

  }

  %>

  7.打开网页http://localhost:8080/test/test.jsp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值