下载本文示例代码
Java的Web开发环境布置向来很烦琐,还记得在做本科毕业设计时配置JBuilder2005 Weblogic8.1 SQL2k整合环境时的痛苦经历,近来整合配置Eclipse3.2 Tomcat5.5.17 Oracle9i环境又累了N小时,这可不得不怪B/S结构的“苦了开发者,方便千万用户”舍己为人精神,以及各种工具版本纷杂带来的不便与不少不负责任网友的胡乱指引。下面小弟把自己的成功经验向大家汇报,希望有需要的友人能少走弯路。具体步骤如下: 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输入,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身份登陆后新建数据源。其中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属性:
<Resourcename="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应用程序的工作目录):
<HostappBase="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,打开页面。若能看到各种连接成功的消息及完整的USER_INF测试表内容,那么表明整个Web测试程序运行成功了! 总结: 实际的整合配置过程,除上述全局化配置方法可行外,还可以采用局部化配置方法(某些版本Tomcat可能行不通)。局部化配置方法较全局化配置方法区别仅在于将数据源jdbc/Oracle的Resource属性内容加入工程所在quickstart目录下的META-INF\context.xml文件的Context元素中去,而不用改变Tomcat目录的conf子目录下的server.xml和context.xml文件。
Java的Web开发环境布置向来很烦琐,还记得在做本科毕业设计时配置JBuilder2005 Weblogic8.1 SQL2k整合环境时的痛苦经历,近来整合配置Eclipse3.2 Tomcat5.5.17 Oracle9i环境又累了N小时,这可不得不怪B/S结构的“苦了开发者,方便千万用户”舍己为人精神,以及各种工具版本纷杂带来的不便与不少不负责任网友的胡乱指引。下面小弟把自己的成功经验向大家汇报,希望有需要的友人能少走弯路。具体步骤如下: 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输入,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身份登陆后新建数据源。其中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属性:
<Resourcename="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应用程序的工作目录):
<HostappBase="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,打开页面。若能看到各种连接成功的消息及完整的USER_INF测试表内容,那么表明整个Web测试程序运行成功了! 总结: 实际的整合配置过程,除上述全局化配置方法可行外,还可以采用局部化配置方法(某些版本Tomcat可能行不通)。局部化配置方法较全局化配置方法区别仅在于将数据源jdbc/Oracle的Resource属性内容加入工程所在quickstart目录下的META-INF\context.xml文件的Context元素中去,而不用改变Tomcat目录的conf子目录下的server.xml和context.xml文件。
下载本文示例代码
Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置Eclipse3.2 Tomcat5.5.17 Oracle9配置
阅读(541) | 评论(0) | 转发(0) |