1、在TOMCAT里配置数据源,在<host></host>之间加上下面的代码,具体的参数根据自己情况修改
<Context path="" docBase="E:\WEB_CODE\DEMO\WEB" debug="0">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_xzm_log." suffix=".txt"
timestamp="true"/>
<Environment name="maxExemptions" type="java.lang.Integer"
value="15"/>
<Parameter name="context.param.name" value="context.param.value"
override="false"/>
<Resource name="jdbc/tzwdb" auth="Container"
type="oracle.jdbc.pool.OracleDataSource"/>
<ResourceParams name="jdbc/tzwdb">
<parameter><name>factory</name><value>oracle.jdbc.pool.OracleDataSourceFactory</value></parameter>
<parameter><name>driverClassName</name><value>oracle.jdbc.driver.OracleDriver</value></parameter>
<parameter><name>url</name><value>jdbc:oracle:thin:@127.0.0.1:1521:ORCL</value></parameter>
<parameter><name>username</name><value>demo</value></parameter>
<parameter><name>password</name><value>demo</value></parameter>
<parameter><name>serverName</name><value>127.0.0.1</value></parameter>
<parameter><name>databaseName</name><value>ORCL</value></parameter>
<parameter><name>portNumber</name><value>1521</value></parameter>
<parameter><name>maxActive</name><value>30</value></parameter>
<parameter><name>maxIdle</name><value>10</value></parameter>
<parameter><name>maxWait</name><value>500</value></parameter>
<parameter><name>description</name><value>oracle</value></parameter>
</ResourceParams>
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"/>
<ResourceParams name="mail/session">
<parameter>
<name>mail.smtp.host</name>
<value>localhost</value>
</parameter>
</ResourceParams>
</Context>
2、连接数据库
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
/**
* @author : 萧秋水
*
* @contact me :
cnyanhai@hotmail.com
*
*/
public class DBManager {
static Logger logger = Logger.getLogger(DBManager.class.getClass());
private Context initCtx = null;
private Context ctx = null;
private DataSource ds = null;
private long timeout = 5000;
private Statement theStatement = null;
private PreparedStatement thePstmt = null;
private static final String userName = "tzw";
private static final String password = "ywsoft";
/***************************************************************************
*
* 初试化initCtx
*
* 取得数据源对象
*
**************************************************************************/
public DBManager() {
try {
initCtx = new InitialContext();
//init context,read config web.xml
if (initCtx == null) {
throw new Exception("Initial Failed!");
}
ctx = (Context) initCtx.lookup("java:comp/env");
//find "jdbc/tzwdb" object this configruation in the SERVER.XML of
// Tomcat
if (ctx != null) {
ds = (DataSource) ctx.lookup("jdbc/tzwdb");
}
if (ds == null) {
throw new Exception("Look up DataSource Failed!");
}
} catch (Exception e) {
logger.error("Look up DataSource error! -- " + e.getMessage());
}
}
/***************************************************************************
*
* get Connection
*
* @return Connection
*
**************************************************************************/
public synchronized Connection getConnection() {
//get connection and set to delay time
long startTime = new java.util.Date().getTime();
Connection con = null;
while (con == null) {
con = newConnection();
if (con != null) {
logger.info("Create New Connection!");
break;
}
try {
logger.info("Connection timeout,Please wait " + timeout + "ms");
wait(timeout);
} catch (InterruptedException e) {
logger.warn("Connection timeout! -- " + e.getMessage());
}
if ((new java.util.Date().getTime() - startTime) >= timeout) {
logger.warn("Connection timeout!");
break;
}
}
return con;
}
private Connection newConnection() {
Connection con = null;
try {
con = ds.getConnection(userName, password);
if (con == null) {
throw new Exception("Create Connection Failed!");
}
} catch (Exception e) {
logger.warn("Create Connection Failed! -- " + e.getMessage());
}
return con;
}
/***************************************************************************
*
* release the connection
*
**************************************************************************/
public synchronized void freeConnection(Connection conn, PreparedStatement pstmt) {
try {
//close PreparedStatement
if (pstmt != null) {
pstmt.close();
pstmt = null;
}
} catch (Exception e) {
logger.warn("release stmt,pstmt error! -- " + e.getMessage());
}
try {
//close Connection
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
logger.warn("release conn error! -- " + e.getMessage());
}
}
}
请看效果 ,具体程序如下:
<html>
<head>
<title>渐变效果进度条</title>
<script language="javascript">
var i;
function go()
{
bar_width = document.getElementById("bg").clientWidth;
i = bar_width;
setTimeout('start();',300);
}
function start()
{
if(i-->0)
{
ps.style.width = i;
bn.innerHTML = Math.floor((bar_width-i)/bar_width*100)+"%";
setTimeout('start();',20);
}
}
</script>
<style type="text/css">
#bg {
filter:progid:DXImageTransform.Microsoft.Gradient
(GradientType=1, StartColorStr=#FFFF00, EndColorStr=#FF0000);
width:300px;
height:20px;
border:1px solid black;
z-index:0;
position:absolute;
}
#ps {
float:right;
background-color:#FFFF00;
width:100%;
}
#bn {
position:absolute;
text-align:center;
width:100%;
height:100%;
cursor:default;
}
</style>
</head>
<body onload="go();">
<div id="bg"><div id="ps"></div><span id="bn">0%</span></div>
</body>
</html>
请看效果 ,具体程序如下:
<html>
<head>
<title>渐变效果进度条</title>
<script language="javascript">
var _Hex = Array("00","01","02","03","04","05","06","07","08","09",
"0A","0B","0C","0D","0E","0F","10","11","12","13","14","15","16","17","18","19",
"1A","1B","1C","1D","1E","1F","20","21","22","23","24","25","26","27","28","29",
"2A","2B","2C","2D","2E","2F","30","31","32","33","34","35","36","37","38","39",
"3A","3B","3C","3D","3E","3F","40","41","42","43","44","45","46","47","48","49",
"4A","4B","4C","4D","4E","4F","50","51","52","53","54","55","56","57","58","59",
"5A","5B","5C","5D","5E","5F","60","61","62","63","64","65","66","67","68","69",
"6A","6B","6C","6D","6E","6F","70","71","72","73","74","75","76","77","78","79",
"7A","7B","7C","7D","7E","7F","80","81","82","83","84","85","86","87","88","89",
"8A","8B","8C","8D","8E","8F","90","91","92","93","94","95","96","97","98","99",
"9A","9B","9C","9D","9E","9F","A0","A1","A2","A3","A4","A5","A6","A7","A8","A9",
"AA","AB","AC","AD","AE","AF","B0","B1","B2","B3","B4","B5","B6","B7","B8","B9",
"BA","BB","BC","BD","BE","BF","C0","C1","C2","C3","C4","C5","C6","C7","C8","C9",
"CA","CB","CC","CD","CE","CF","D0","D1","D2","D3","D4","D5","D6","D7","D8","D9",
"DA","DB","DC","DD","DE","DF","E0","E1","E2","E3","E4","E5","E6","E7","E8","E9",
"EA","EB","EC","ED","EE","EF","F0","F1","F2","F3","F4","F5","F6","F7","F8","F9",
"FA","FB","FC","FD","FE","FF");
function go()
{
setTimeout('start();',100);
}
var i=0;
function start()
{
if(i++<256)
{
ps.innerHTML += "<span style='width:1px;background-color:#FF"+_Hex[256-i]+"00;'>";
bn.innerHTML = Math.floor(i/2.56)+"%";
setTimeout('start();',10);
}
}
</script>
<style type="text/css">
#ps {
background-color:#FFFF00;
width:256px;
margin: 1px;
float:left;
}
#bn {
width:39px;
margin: 1px;
float:right;
text-align:center;
color:#FFFFFF;
font-family:Arial;
font-size:13px;
}
</style>
</head>
<body onload="go();">
<div style="background-color:black;width:300px;height:20px;"><div id="ps"></div><div id="bn"></div></div>
</body>
</html>