首页 > 数据库 > Oracle > 正文

Eclipse3.2+Tomcat5.5.17+Oracle9配置

2024-08-29 13:32:47
字体:
来源:转载
供稿:网友

  java的环境布置向来很烦琐,还记得在做本科毕业设计时配置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输入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页面编辑需要有支持功能的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文件。

商业源码热门下载www.html.org.cn

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表