1.安装Java开发环境Eclipse3.2,安装Oracle9i数据库
首先安装SUN的JDK1.4以上版本的Java基础开发环境,配置Java系统变量(这个太基础,不具体展开了)。接着下载解压安装Eclipse3.2开发环境,根据个人需要安装语言包、MyEclipse等插件扩充功能(也可以先不安装)。
安装Oracle9i数据库,创建测试数据库:NBZJU与DBA:LUHAO/11111,建立表空间:LUHAO和测试表:USER_INF。其中USER_INF表具有USER_ID、USER_NAME、USER_TEL字段属性,并添如若干测试记录。
2.安装Tomcat及其插件
下载并解压Tomcat启动插件tomcatPluginV31.zip,将其下目录文件拷入eclipse/plugins目录下(这步若成功执行,eclipse运行后将发现多了Tomcat菜单项及其启动、停止、重启等快捷按钮。若看不到,可能通过删除eclipse/configuration目录下除config.ini外所有文件,再重启eclipse来解决)。
下载Tomcat标准程序apache-tomcat-5.5.17.zip和admin控制台程序apache-tomcat-5.5.17-admin.zip(将后者解压入前者的解压目录下可以获得登陆admin图形管理界面的功能,这将方便后面的数据源配置,不用直接在server.xml中自己输入参数,即通过图形界面配置生成相应的标准XML参数。否则手动输入参考来的配置容易出错,因为不同版本tomcat的XML标记语法解析不同,例如5.1版的参数放入5.5版是无效的。因此,强烈建议用图形界面配置数据源!)
配置系统变量“TOMCAT_HOME”,其值为关联到apache-tomcat-5.5.17目录的路径。打开apache-tomcat-5.5.17/conf/tomcat-users.xml文件,在<tomcat-users></tomcat-users>标记元素中加入:<user username="luhao" password="12345" roles="admin,manager"/>,即加入角色身份为admin和manager的管理员luhao,我们之后需要以manager角色上传Web应用程序和以admin角色配置数据员。再打开apache-tomcat-5.5.17/conf目录下server.xml文件,将<Connector元素后port="8080"的属性改为port="8008"(注意:由于oracle已占用了Tomcat默认的8080访问端口,必须更改其它未被占用的空闲端口,此处假设为8008)。
接下来运行eclipse程序,配置Tomcat属性。打开菜单“窗口/首选项”,打开“Java/已安装的JRE”选项,将运行环境参数位置定位于JDK目录下的JRE目录。打开“Tomcat”选项,Tomcat Version选择5.x,Tomcat Home定位到apache-tomcat-5.5.17目录,其余默认关联即可。打开“Tomcat/JVM Settings”和“Tomcat/Source Path”选项,JRE选择刚配置的已安装的JRE,Automatcially compute source path打勾。再打开“Tomcat Manager App”选项,url输入http://localhost:8008/manager,username和password填Tomcat中新加入的luhao和12345(这步可以保证将Web应用程序发布到Tomcat,项目Reload也不会出错)。
3.获取Oracle9i相应的JDBC驱动程序,配置Data Sources和Context
拷贝Oracle9i安装目录下ora90/jdbc/lib/classes12.jar驱动文件到Tomcat目录下common/lib公共文件夹下。
然后在eclipse中启动Tomcat(点击那个猫的图标即可),以luhao/12345身份登陆http://localhost:8008/admin后新建数据源。其中JNDI Name:jdbc/Oracle(此数据源JNDI名字可以随意取,但不可重复),Data Source URL:jdbc:oracle:thin:@localhost:1521:NBZJU(1521为Oracle访问端口,NBZJU为要访问的数据库名称),JDBC Driver Class:oracle.jdbc.driver.OracleDriver(可打开classes12.jar文件查看到相应的路径,否则驱动有误),Username:luhao和Password:11111(填NBZJU数据库有访问权限的用户即可),其余选项默认即可。数据源保存及递交后,conf目录下server.xml文件的全局命名资源GlobalNamingResources元素内将多一项Resource属性:
数据源配置完成后,还须配置相关的上下文信息context,来使程序获得JDNI初始化引用,从而定位数据源。由于之前定义的是全局资源,我们可在apache-tomcat-5.5.17/conf/context.xml文件中的Context元素中加入关联属性:
4.创建测试Web程序
运行eclipse,新建一个Tomcat项目到任意的当前工作空间,此处项目取名quickstart。当项目一经创建,我们就可以发现apache-tomcat-5.5.17/conf目录下server.xml文件的Host元素内自动增加了以下属性内容(用来关联发布Web应用程序的工作目录):
新建JSP测试页面index.jsp到quickstart工程目录下(JSP页面编辑需要有支持Web开发功能的eclipse插件支持,如MyEclipse、WTP等插件),代码如下:
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文件。
首先安装SUN的JDK1.4以上版本的Java基础开发环境,配置Java系统变量(这个太基础,不具体展开了)。接着下载解压安装Eclipse3.2开发环境,根据个人需要安装语言包、MyEclipse等插件扩充功能(也可以先不安装)。
安装Oracle9i数据库,创建测试数据库:NBZJU与DBA:LUHAO/11111,建立表空间:LUHAO和测试表:USER_INF。其中USER_INF表具有USER_ID、USER_NAME、USER_TEL字段属性,并添如若干测试记录。
2.安装Tomcat及其插件
下载并解压Tomcat启动插件tomcatPluginV31.zip,将其下目录文件拷入eclipse/plugins目录下(这步若成功执行,eclipse运行后将发现多了Tomcat菜单项及其启动、停止、重启等快捷按钮。若看不到,可能通过删除eclipse/configuration目录下除config.ini外所有文件,再重启eclipse来解决)。
下载Tomcat标准程序apache-tomcat-5.5.17.zip和admin控制台程序apache-tomcat-5.5.17-admin.zip(将后者解压入前者的解压目录下可以获得登陆admin图形管理界面的功能,这将方便后面的数据源配置,不用直接在server.xml中自己输入参数,即通过图形界面配置生成相应的标准XML参数。否则手动输入参考来的配置容易出错,因为不同版本tomcat的XML标记语法解析不同,例如5.1版的参数放入5.5版是无效的。因此,强烈建议用图形界面配置数据源!)
配置系统变量“TOMCAT_HOME”,其值为关联到apache-tomcat-5.5.17目录的路径。打开apache-tomcat-5.5.17/conf/tomcat-users.xml文件,在<tomcat-users></tomcat-users>标记元素中加入:<user username="luhao" password="12345" roles="admin,manager"/>,即加入角色身份为admin和manager的管理员luhao,我们之后需要以manager角色上传Web应用程序和以admin角色配置数据员。再打开apache-tomcat-5.5.17/conf目录下server.xml文件,将<Connector元素后port="8080"的属性改为port="8008"(注意:由于oracle已占用了Tomcat默认的8080访问端口,必须更改其它未被占用的空闲端口,此处假设为8008)。
接下来运行eclipse程序,配置Tomcat属性。打开菜单“窗口/首选项”,打开“Java/已安装的JRE”选项,将运行环境参数位置定位于JDK目录下的JRE目录。打开“Tomcat”选项,Tomcat Version选择5.x,Tomcat Home定位到apache-tomcat-5.5.17目录,其余默认关联即可。打开“Tomcat/JVM Settings”和“Tomcat/Source Path”选项,JRE选择刚配置的已安装的JRE,Automatcially compute source path打勾。再打开“Tomcat Manager App”选项,url输入http://localhost:8008/manager,username和password填Tomcat中新加入的luhao和12345(这步可以保证将Web应用程序发布到Tomcat,项目Reload也不会出错)。
3.获取Oracle9i相应的JDBC驱动程序,配置Data Sources和Context
拷贝Oracle9i安装目录下ora90/jdbc/lib/classes12.jar驱动文件到Tomcat目录下common/lib公共文件夹下。
然后在eclipse中启动Tomcat(点击那个猫的图标即可),以luhao/12345身份登陆http://localhost:8008/admin后新建数据源。其中JNDI Name:jdbc/Oracle(此数据源JNDI名字可以随意取,但不可重复),Data Source URL:jdbc:oracle:thin:@localhost:1521:NBZJU(1521为Oracle访问端口,NBZJU为要访问的数据库名称),JDBC Driver Class:oracle.jdbc.driver.OracleDriver(可打开classes12.jar文件查看到相应的路径,否则驱动有误),Username:luhao和Password:11111(填NBZJU数据库有访问权限的用户即可),其余选项默认即可。数据源保存及递交后,conf目录下server.xml文件的全局命名资源GlobalNamingResources元素内将多一项Resource属性:
<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文件。