小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

TOMCAT動(dòng)態(tài)創(chuàng)建連接池收藏 - - JavaEye技術(shù)網(wǎng)站

 ShangShujie 2010-09-19

<script></script> 看到一些朋友需要對(duì)tomcat連接池進(jìn)行加密http://topic.csdn.net/u/20071023/15/3b85f3bf-73fa-4f06-8c94-a76431afd5d3.html,偶有感觸,在 艷照門事件的影響下,大家都對(duì)公司核心數(shù)據(jù)的加密非常關(guān)注,即使是服務(wù)器連接池,也必須防止硬件工程師在無(wú)意或有意把數(shù)據(jù)拿走后保證數(shù)據(jù)的安全性,面對(duì)這 樣的問題,Sybase ASA已經(jīng)提供了數(shù)據(jù)庫(kù)的加密,只要沒有密鑰的情況下,即使拿到數(shù)據(jù)庫(kù)也會(huì)無(wú)法查看其中的數(shù)據(jù),這對(duì)需要數(shù)據(jù)庫(kù)級(jí)加密的需求來(lái)說(shuō)是非常棒的,但在可以找到 的TOMCAT連接池配置中卻只能用明碼保存連接配置,管理員或硬件維護(hù)員可以很容易的獲得密鑰,這樣就使數(shù)據(jù)庫(kù)的加密變得毫無(wú)意義,這時(shí)怎么辦呢?下面 將一步一步教大家解決的方法:

先看到在英文版Professional Apache Tomcat 6(http://download.csdn.net/source/264074
有下載)的Chapter 13: JDBC Connectivity中有一節(jié),Alternative Connection Pool Managers,在這一節(jié)中詳細(xì)描述了動(dòng)態(tài)創(chuàng)建連接的方法,便動(dòng)手進(jìn)行測(cè)試

1.下載c3p0 Pool Manager,http://nchc.dl./sourceforge/c3p0/c3p0-0.9.1.2.bin.zip

2.在項(xiàng)目中添加
c3p0的引用,即把c3p0-0.9.1.2.jar添加到項(xiàng)目中。

3.建立Bean

package mydatabase;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class database_connection {

    
private static ComboPooledDataSource pool = null;
    
    
public static Connection get_connection() throws Error
    
{
        
try {
            
if (pool == null)
            
{
                pool 
= new ComboPooledDataSource();
                pool.setDriverClass( 
"ianywhere.ml.jdbcodbc.IDriver" );
                pool.setJdbcUrl( 
"jdbc:odbc:dsn=FunctionFace;uid=aaa;pwd=bbb;dbkey=數(shù)據(jù)庫(kù)是加密的哦;dbf=D:/WorkPlace/WorkLine/FirstTmp/Database/FunctionFace.db" );
                pool.setUser(
"dba");
                pool.setPassword(
"sql");
                pool.setAcquireIncrement(
3);
                pool.setMaxPoolSize(
30);
            }

            
return pool.getConnection();
        }
 catch (Exception e) {
            e.printStackTrace();
        }

        
        
throw new Error("沒有找到數(shù)據(jù)庫(kù)連接配置!!");
        
    }


}


4.在JSP界面中調(diào)用
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="mydatabase.database_connection"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  
<head>
    
<title>使用動(dòng)態(tài)連接池的實(shí)驗(yàn)</title>
  
</head>
  
  
<body>
  我們偉大的CSDN的同志是不用JSP來(lái)開發(fā)的,居然不能導(dǎo)入JSP程序,真暈,不知道是否大家是否看得清楚下面這段代碼
  
<%
      out.println(
"開始連接數(shù)據(jù)庫(kù)??!");
      
//out.println(System.getProperty("java.library.path"));
      try{
          
//database_base dba = new database_base();
          Connection conn 
= database_connection.get_connection();
          out.println(
"獲取連接池成功!!<br>");

        out.println(
"<br>");
        out.println(
"下面根據(jù)JDBC元數(shù)據(jù)提取  實(shí)驗(yàn)表A 的主鍵字段信息:<br>");
        DatabaseMetaData b 
= conn.getMetaData();
        ResultSet pkRSet 
= b.getPrimaryKeys(nullnull"實(shí)驗(yàn)表A");
        
while (pkRSet.next()) {
            out.println(
"****** Comment ******<br>"); 
            out.println(
"TABLE_CAT : "+pkRSet.getObject(1)+"<br>"); 
            out.println(
"TABLE_SCHEM: "+pkRSet.getObject(2)+"<br>"); 
            out.println(
"TABLE_NAME : "+pkRSet.getObject(3)+"<br>"); 
            out.println(
"COLUMN_NAME: "+pkRSet.getObject(4)+"<br>"); 
            out.println(
"KEY_SEQ : "+pkRSet.getObject(5)+"<br>"); 
            out.println(
"PK_NAME : "+pkRSet.getObject(6)+"<br>"); 
            out.println(
"****** ******* ******<br>"); 
        }
          //conn.close();  這里不要關(guān)掉哦,讓系統(tǒng)自己管理連接好了
          //out.println(
"關(guān)閉連接<br>"); 
      } catch (Exception ex) {
          out.print(ex.getMessage());
          ex.printStackTrace();
      }
  
%>
  
  
</body>
</html>

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多