﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-hurry up or you will be lost-随笔分类-数据库</title><link>http://www.blogjava.net/hejian811/category/25075.html</link><description>努力去发掘自己的潜能 去追逐</description><language>zh-cn</language><lastBuildDate>Sat, 18 Aug 2007 04:36:04 GMT</lastBuildDate><pubDate>Sat, 18 Aug 2007 04:36:04 GMT</pubDate><ttl>60</ttl><item><title>Eclipse3.2.2+Tomcat6.0.10+Oracle10g配置</title><link>http://www.blogjava.net/hejian811/archive/2007/08/18/137795.html</link><dc:creator>^小^齐^</dc:creator><author>^小^齐^</author><pubDate>Sat, 18 Aug 2007 04:31:00 GMT</pubDate><guid>http://www.blogjava.net/hejian811/archive/2007/08/18/137795.html</guid><wfw:comment>http://www.blogjava.net/hejian811/comments/137795.html</wfw:comment><comments>http://www.blogjava.net/hejian811/archive/2007/08/18/137795.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hejian811/comments/commentRss/137795.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hejian811/services/trackbacks/137795.html</trackback:ping><description><![CDATA[引用:<a href="http://hi.baidu.com/zhaobz/blog/item/f9acac777699871ab051b9ca.html"><font color=#800080 size=3><u>http://hi.baidu.com/zhaobz/blog/item/f9acac777699871ab051b9ca.html</u></font></a>
<p><font size=3>Java的Web开发环境布置向来很烦琐，这可不得不怪B/S结构的&#8220;苦了开发者，方便千万用户&#8221;舍己为人精神，以及各种工具版本纷杂带来的不便与不少不负责任网友的胡乱指引。下面把我自己的成功经验向大家汇报，希望有需要的朋友能少走弯路。具体步骤如下： <br><br>　　<strong>1.安装Java开发环境Eclipse3.2.2，安装Oracle10g数据库</strong><br><br>　　首先安装SUN JDK1.6以上版本的Java基础开发环境，配置Java系统变量（这个太基础，不具体展开了）。接着下载解压安装Eclipse3.2开发环境，根据个人需要安装语言包、MyEclipse等插件扩充功能（也可以先不安装）。<br><br>　　安装Oracle10g数据库，创建测试数据库：TDBASE与DBA：ZHAOBZ/11111，建立表空间：ZHAOBZ和测试表：USER_INF。其中USER_INF表具有USER_ID、USER_NAME、USER_TEL字段属性，并添如若干测试记录。<br><br>　　<strong>2.安装Tomcat及其插件</strong><br><br>　　下载并解压Tomcat启动插件tomcatPluginV32beta3.zip(</font><a href="http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-120.html"><font color=#800080 size=3><u>http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-120.html</u></font></a><font size=3>)，将其下目录文件拷入eclipse\plugins目录下（这步若成功执行，eclipse运行后将发现多了Tomcat菜单项及其启动、停止、重启等快捷按钮。若看不到，可能通过删除eclipse\configuration目录下除config.ini外所有文件，再重启eclipse来解决）。<br><br>　　下载Tomcat标准程序apache-tomcat-6.0.10.zip（</font><a href="http://tomcat.apache.org/"><font color=#0000ff size=3><u>http://tomcat.apache.org/</u></font></a><font size=3>）<br><br>　　配置系统变量&#8220;TOMCAT_HOME&#8221;，其值为关联到apache-tomcat-6.0.10目录的路径。打开<font color=#339966>apache-tomcat-6.0.10\conf\tomcat-users.xml</font> 文件，在<font color=#33cccc>＜tomcat-users＞＜/tomcat-users＞</font>标记元素中加入：<font color=#33cccc>＜user username="zhaobz" password="12345" roles="admin,manager"/＞</font>，即加入角色身份为admin和manager的管理员zhaobz，我们之后需要以manager角色上传Web应用程序和以admin角色配置数据员。再打开apache-tomcat-6.0.10\conf目录下<font color=#339966>server.xml</font>文件，将<font color=#33cccc>＜Connector元素后port="8080"</font>的属性改为port="8000"（注意：由于Oracle已占用了Tomcat默认的8080访问端口，必须更改其它未被占用的空闲端口，此处假设为8000）。<br><br>　　接下来运行eclipse程序，配置Tomcat属性。打开菜单&#8220;窗口/首选项&#8221;，打开&#8220;Java/已安装的JRE&#8221;选项，将运行环境参数位置定位于JDK目录下的JRE目录。打开&#8220;Tomcat&#8221;选项，Tomcat Version选择6.x，Tomcat Home定位到apache-tomcat-6.0.10目录，其余默认关联即可。打开&#8220;Tomcat/JVM Settings&#8221;和&#8220;Tomcat/Source Path&#8221;选项，JRE选择刚配置的已安装的JRE，Automatcially compute source path打勾。再打开&#8220;Tomcat Manager App&#8221;选项，url输入</font><a href="http://localhost:8000/manager"><font color=#0000ff size=3><u>http://localhost:8000/manager</u></font></a><font size=3>，username和password填Tomcat中新加入的zhaobz和12345（这步可以保证将Web应用程序发布到Tomcat，项目Reload也不会出错）。<br><br>　　<strong>3.获取Oracle10g相应的JDBC驱动程序，配置Data Sources和Context</strong><br><br>　　拷贝Oracle10g安装目录下oracl10/jdbc/lib/classes12.jar驱动文件到Tomcat目录下common/lib公共文件夹下。<br><br>　　然后在eclipse中启动Tomcat（点击那个猫的图标即可），以zhaobz/12345身份登陆</font><a href="http://localhost:8000/admin"><font color=#0000ff size=3><u>http://localhost:8000/admin</u></font></a><font size=3>后新建数据源。其中JNDI Name：jdbc/Oracle（此数据源JNDI名字可以随意取，但不可重复），Data Source URL：jdbc:oracle:thin:@localhost:1521:TDBASE（1521为Oracle访问端口，NBZJU为要访问的数据库名称），JDBC Driver Class：oracle.jdbc.driver.OracleDriver（可打开classes12.jar文件查看到相应的路径，否则驱动有误），Username：zhaobz和Password：11111（填TDBASE数据库有访问权限的用户即可），其余选项默认即可。数据源保存及递交后，conf目录下server.xml文件的全局命名资源GlobalNamingResources元素内将多一项Resource属性：<br><br></font></p>
<table borderColor=#cccccc width="90%" align=center bgColor=#e1e1e1 border=1>
    <tbody>
        <tr>
            <td><font size=3>＜Resource<br>name="jdbc/Oracle"<br>type="javax.sql.DataSource"<br>password="11111"<br>driverClassName="oracle.jdbc.driver.OracleDriver"<br>maxIdle="2"<br>maxWait="5000"<br>username="zhaobz"<br>url="jdbc:oracle:thin:@localhost:1521:TDBASE"<br>maxActive="4"/＞</font></td>
        </tr>
    </tbody>
</table>
<br><font size=3>　　数据源配置完成后，还须配置相关的上下文信息context，来使程序获得JDNI初始化引用，从而定位数据源。由于之前定义的是全局资源，我们可在apache-tomcat-6.0.10\conf\context.xml文件中的Context元素中加入关联属性：<br><br></font>
<table borderColor=#cccccc width="90%" align=center bgColor=#e1e1e1 border=1>
    <tbody>
        <tr>
            <td><font size=3>＜ResourceLink global="jdbc/Oracle" name="jdbc/Oracle" type="javax.sql.DataSource"/＞</font></td>
        </tr>
    </tbody>
</table>
<br><font size=3>　　<strong>4.创建测试Web程序</strong><br><br>　　运行eclipse，新建一个Tomcat项目到任意的当前工作空间，此处项目取名quickstart。当项目一经创建，我们就可以发现apache-tomcat-6.0.10\conf目录下server.xml文件的Host元素内自动增加了以下属性内容（用来关联发布Web应用程序的工作目录）：<br><br></font>
<table borderColor=#cccccc width="90%" align=center bgColor=#e1e1e1 border=1>
    <tbody>
        <tr>
            <td><font size=3>＜Host<br>appBase="webapps"<br>name="localhost"＞＜Context path="/quickstart" reloadable="true" docBase="E:\zhaobz\workspace\quickstart" workDir="E:\luhao\workspace\quickstart\work" /＞<br><br>＜/Host＞</font></td>
        </tr>
    </tbody>
</table>
<br><font size=3>　　新建JSP测试页面index.jsp到quickstart工程目录下（JSP页面编辑需要有支持Web开发功能的eclipse插件支持，如MyEclipse、WTP等插件），代码如下：<br><br></font>
<table borderColor=#cccccc width="90%" align=center bgColor=#e1e1e1 border=1>
    <tbody>
        <tr>
            <td><font size=3>＜%@ page contentType="text/html; charset=gb2312" %＞<br>＜%@ page import="javax.naming.*" %＞<br>＜%@ page import="javax.sql.*" %＞<br>＜%@ page import="java.sql.*" %＞<br>＜html＞＜head＞＜title＞Oracle JDBC Test＜/title＞＜/head＞<br>＜body＞<br>＜%<br>Connection conn=null;<br>Statement stmt=null;<br>ResultSet rs=null;<br>ResultSetMetaData md=null;<br>try{<br>　Context initCtx=new InitialContext(); <br>　//获得JNDI初始化上下文信息，即获取目录上下文的引用<br>　DataSource ds=(DataSource)initCtx.lookup("java:comp/env/jdbc/Oracle");<br>　//定位数据源jdbc/Oracle<br>　if(ds!=null){<br>　　out.println("已经获得DataSource");<br>　　out.println(ds.toString());<br>　　conn=ds.getConnection();<br>　　if(conn!=null){<br>　　　out.println("create connection sucess!");<br>　　　stmt=conn.createStatement();<br>　　　out.println("createStatement Success!");<br>　　　rs=stmt.executeQuery("select * from LUHAO.USER_INF");<br>　　　md=rs.getMetaData();<br>　　　out.println("＜table border=1＞");<br>　　　out.println("＜tr＞");<br>　　　for(int i=0;i＜md.getColumnCount();i++){<br>　　　　out.println("＜td＞"+md.getColumnName(i+1)+"＜/td＞");<br>　　　}<br>　　　while(rs.next()){<br>　　　　out.println("＜tr＞");<br>　　　　out.println("＜td＞"+rs.getString(1)+"＜/td＞");<br>　　　　out.println("＜td＞"+rs.getString(2)+"＜/td＞");<br>　　　　out.println("＜td＞"+rs.getString(3)+"＜/td＞");<br>　　　　out.println("＜td＞");<br>　　　}<br>　　　out.println("＜/table＞");<br>　　　conn.close();<br>　　}<br>　}<br>}catch(Exception e){<br>　out.println(e.toString());<br>　System.out.println(e.toString());<br>}<br>%＞<br>＜/body＞<br>＜/html＞</font></td>
        </tr>
    </tbody>
</table>
<br><font size=3>　　</font><font size=3><strong>5.启动数据库，运行测试程序<br></strong><br>　　运行测试页面前必须先启动后台数据库。办法是打开Oracle SQL Plus，用DBA身份连接入TDBASE数据库：conn zhaobz/11111 as sysdba，再用命令：startup完成启动数据库（shutdown可以关闭数据库）。<br><br>　　保存工程，启动Tomcat，打开</font><a href="http://localhost:8000/quickstart/"><font color=#0000ff size=3><u>http://localhost:8000/quickstart/</u></font></a><font size=3>页面。若能看到各种连接成功的消息及完整的USER_INF测试表内容，那么表明整个Web测试程序运行成功了！<br><br>　　<strong>总结：</strong><br><br>　　实际的整合配置过程，除上述全局化配置方法可行外，还可以采用局部化配置方法（某些版本Tomcat可能行不通）。局部化配置方法较全局化配置方法区别仅在于将数据源jdbc/Oracle的Resource属性内容加入工程所在quickstart目录下的META-INF\context.xml文件的Context元素中去，而不用改变Tomcat目录的conf子目录下的server.xml和context.xml文件。&nbsp;</font><br>
<img src ="http://www.blogjava.net/hejian811/aggbug/137795.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hejian811/" target="_blank">^小^齐^</a> 2007-08-18 12:31 <a href="http://www.blogjava.net/hejian811/archive/2007/08/18/137795.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>