Tomcat5.5链接Oracle、DB2、MySQL数据源实现JSP下拉框的填充

简介:
一、建立表,并填充数据:
建表的Oracle SQL如下:
――――――――――――――――――
create  table DM_HY
(
  HY_DM VARCHAR2(
6 ) not null,
  HY_MC VARCHAR2(
200 ) not null,
  MLBZ  CHAR(
1 ) not null,
  DLBZ  CHAR(
1 ) not null,
  ZLBZ  CHAR(
1 ) not null,
  XLBZ  CHAR(
1 ) not null,
  FQHY  VARCHAR2(
6 ),
  XYBZ  CHAR(
1 ) not null
);
-- Add comments to the table 
comment on table DM_HY
  is 
' 行业代码表' ;
-- Add comments to the columns 
comment on column DM_HY.HY_DM
  is 
' 行业代码' ;
comment on column DM_HY.HY_MC
  is 
' 行业名称' ;
comment on column DM_HY.MLBZ
  is 
' 门类标志' ;
comment on column DM_HY.DLBZ
  is 
' 大类标志' ;
comment on column DM_HY.ZLBZ
  is 
' 中类标志' ;
comment on column DM_HY.XLBZ
  is 
' 小类标志' ;
comment on column DM_HY.FQHY
  is 
' 父亲类型' ;
comment on column DM_HY.XYBZ
  is 
' 选用标志' ;
 
插入数据:
insert  into DM_HY (HY_DM, HY_MC, MLBZ, DLBZ, ZLBZ, XLBZ, FQHY, XYBZ)
values (
'01' ' 农、林、牧、渔业' 'Y' 'N' 'N' 'N' , null,  'Y' );
insert into DM_HY (HY_DM, HY_MC, MLBZ, DLBZ, ZLBZ, XLBZ, FQHY, XYBZ)
values (
'010200' ' 林业' 'N' 'Y' 'Y' 'Y' '01' 'Y' );
。。。。。。
二、配置数据源
配置方法:根据数据库类型修改apache-tomcat-5.5.20\conf下的context.xml内容为:
1、  Tomcat 种的Oracle数据源
―――――――――――――――――――――――――――
<!-- The contents of this file will be loaded for each web application -->
<Context privileged='true'>
              <Resource name="zfvims/zfvimsds"
                      auth="Container"
                   type="javax.sql.DataSource"
                            driverClassName="oracle.jdbc.driver.OracleDriver"
                   url="jdbc:oracle:thin:@192.168.0. 2:1521: orcl"
                   username=" zfvims"
                   password="leizhimin"
                   maxIdle="30"
                   maxWait="10000"
                   maxActive="100"
                   removeAbandoned="true"
                            removeAbandonedTimeout="60"
                            logAbandoned="true"/>
</Context>
―――――――――――――――――――――――――――
 
2、  Tocmat 中的DB2数据源
―――――――――――――――――――――――――――
<!-- The contents of this file will be loaded for each web application -->
<Context privileged='true'>
              <Resource name="zfvims/zfvimsds"
                      auth="Container"
                   type="javax.sql.DataSource"
                            driverClassName="com.ibm.db2.jcc.DB2Driver"
                   url="jdbc:db2: zfvims"
                   username=“zfvims”
                   password=" leizhimin"
                   maxIdle="30"
                   maxWait="10000"
                   maxActive="100"
                   removeAbandoned="true"
                            removeAbandonedTimeout="60"
                            logAbandoned="true"/>
</Context>
―――――――――――――――――――――――――――
 
3、  Tocmat 中的MySQL数据源
―――――――――――――――――――――――――――
<!-- The contents of this file will be loaded for each web application -->
<Context privileged='true'>
              <Resource name="zfvims/zfvimsds"
                      auth="Container"
                   type="javax.sql.DataSource"
                            driverClassName=" com.mysql.jdbc.Driver "
                   url=" jdbc:mysql://192.168.0.2:3306/zfvims"
                   username=“zfvims”
                   password=" leizhimin"
                   maxIdle="30"
                   maxWait="10000"
                   maxActive="100"
                   removeAbandoned="true"
                            removeAbandonedTimeout="60"
                            logAbandoned="true"/>
</Context>
―――――――――――――――――――――――――――
 
注意OracleDB2 JDBC连接的URL有较大差别,其中Oracleurl="jdbc:oracle:thin:@192.168.3.12:1521:orcl"orcl表示数据库SID,一个SID下面的可以有多个用户,每个用户对应自己的数据库。DB2url="jdbc:db2:zfvims"其中的zfvims是数据库的别名;MySQL中的url=" jdbc:mysql://192.168.0.2:3306/zfvims"其中的zfvims却是数据库的实名。
三、写工具类
package com.zfvims.common.utils;
 
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
 
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
 
/**
 * File Name:  PageComboxOptions.java
 * Created by: IntelliJ IDEA.
 * Copyright:  Copyright (c) 2003-2006
 * Author:      leizhimin
 * Modifier:    leizhimin
 * Date Time: 2006-11-29 8:58:42
 * Readme:   jsp页面中的选择控件(Combox)之选项列表获取工具类
 */
public final class PageComboxOptions {
    private static final Log log = LogFactory.getLog(PageComboxOptions.class);
    private static Connection conn;
    private static Statement stmt;
    private static ResultSet rs;
    //行业类别SQL
    private static final String SQL_HYLB = "select '<option value=\"' || t.hy_dm || '\">' || t.hy_dm || '-' || t.hy_mc || '</option>' from dm_hy t order by t.hy_dm";
 
    static {
        try {
            //建立数据库连接
            Context ctx = new InitialContext();
            DataSource ds = (DataSource) ctx.lookup("java:comp/env/zfvims/zfvimsds");
            conn = ds.getConnection();
        } catch (Exception e) {
            log.error("获取数据库链接出现错误,请检查PageComboxOptions.java和连接池的配置!");
            e.printStackTrace();
        }
    }
 
    /**
     * @return 获取行业类别下拉列表HTML
     */
    public static String getOptionsHYLB() {
        String optionHTML = "";
        try {
            conn.setAutoCommit(false);
            //创建一个JDBC声明
            stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            //执行查询
            rs = stmt.executeQuery(SQL_HYLB);
            optionHTML = result2String(rs);
            //关闭数据库连结
            rs.close();
            stmt.close();
        } catch (SQLException e) {
            log.error("查询行业类别出错,请检查!");
            e.printStackTrace();
        }
        return optionHTML;
    }
 
    /**
     * @return 结果集的String组合串
     */
    private static String result2String(ResultSet rs) throws SQLException {
        String optionHTML = "";
        while (rs.next()) {
            optionHTML = optionHTML + rs.getString(1);
        }
        return optionHTML;
    }
}
 
说明:这个工具类会一直占用一个数据库连接,为所有需要展示代码表的页面服务。这比每次当页面有代码表需要展示的时候,调用后台方法获取一次数据库连接然后又返回到池更高效。尤其是当系统很庞大的时候,这种优势尤为明显。当然也可以将静态的获取连接的代码块做成一个静态方法,然后分别在每个方法中获取连接。这样实质上每次取出一个代码表,都要获取一次连接,效率也不高,并且每次都要取连接,关闭连接(归池),本人不推荐这种做法。
 
四、写测试页面
写一个测试页面,在页面中导入工具类PageComboxOptions,然后直接调用其静态方法获取展示需要的html字符串代码,测试页面代码如下:
testoption.jsp
――――――――――――――――――――――――――――――――
<%@ page import="com.zfvims.common.utils.PageComboxOptions"%>
<%--
  Created by IntelliJ IDEA.
  User: leizhimin
  Date: 2006-11-29
  Time: 11:19:02
--%>
<%@ page contentType="text/html;charset=GBK" language="java" %>
<html>
<head><title>Simple jsp page</title></head>
 
<body>
<form action="#" method="post">
    <table>
        <tr>
            <td>行业类型</td>
            <td >
                <select name="hylb">
                     <%=PageComboxOptions.getOptionsHYLB()%>
                </select>
                     </td>
        </tr>
    </table>
</form>
</body>
</html>
――――――――――――――――――――――――――――――――



本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/10950,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
7月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
412 41
|
7月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
535 17
|
7月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
165 18
|
7月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
481 11
|
7月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
237 10
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
770 26
|
11月前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
387 7
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
301 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
NoSQL 关系型数据库 MySQL
Tomcat、MySQL、Redis最大支持说明
综上所述,Tomcat、MySQL、Redis的并发处理能力均非固定值,而是通过合理的配置与优化策略,结合系统硬件资源,共同决定了它们在实际应用中的表现。开发者应根据应用的具体需求和资源条件,对这些组件进行细致的调优,以达到最佳性能表现。
197 1
|
关系型数据库 Java MySQL
Linux安装JDK1.8 & tomcat & MariaDB(MySQL删减版)
本教程提供了在Linux环境下安装JDK1.8、Tomcat和MariaDB的详细步骤。这三个组件的组合为Java Web开发和部署提供了一个强大的基础。通过遵循这些简单的指导步骤,您可以轻松建立起一个稳定、高效的开发和部署环境。希望这个指导对您的开发工作有所帮助。
463 8

推荐镜像

更多