JAvaデータソース(META-INF/context.xml)


まず、WebプロジェクトのMETA-INFの下でcontext.xmlファイルを作成します.内容は次のとおりです.
 context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
    <Resource
      name="myDS"
      type="javax.sql.DataSource"
      driverClassName="oracle.jdbc.driver.OracleDriver"
      maxIdle="2"
      maxWait="5000"
      username="test" 
      password="pwd"
      url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
      maxActive="4"/>
 <!--name:DataSource   -->
 <!--type:      java  ,     javax.sql.DataSource-->
 <!--username:      -->
 <!--password:       -->
 <!--driverClassName:     JDBC    -->
 <!--url:      URL-->
 <!--maxIdle:                    , 0      -->
 <!--maxWait:                    (      ), 0         -->
 <!--maxActive:                    , 0      -->
 
</Context> 

 OK、JSPで、直接書くことができます:
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="javax.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
	</head>
	<body>
		<%
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource db = (DataSource)envContext.lookup("myDS");
//javablogorl <Resource>   name    
Connection conn = db.getConnection( );
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM test");
while(rs.next()){
out.print(rs.getString("id")+" ");
out.print(rs.getString("name")+"<br>");
}
rs.close();
stmt.close();
conn.close();
%>
	</body>
</html>

 
質問1:oracle.jdbc.driver.OracleDriver.classが見つからないことを報告しています.
後でネット上でやっと発見して、oracleのJDBC駆動をtomcatのcommon/libの下に置いて、私はずっとそれをWEB-INF/libの下に置いて、問題は解決しました!
問題2:仮想ディレクトリが設定されていない場合、この問題は存在しません.
仮想ディレクトリが設定されている場合、tomcat 5/conf/Catalina/localhost/myWeb.xmlには次の内容があります.
<Context path="/myWeb" docBase="D:\workspace\myWeb\WebRoot" reloadable="true" debug="0"></Context>

 
これにより、プロジェクトを配備しなくてもいいです.
ただし、META-INF/context.xmlは使用されなくなり、tomcat 5/conf/Catalina/localhost/myWeb.xmlの内容を次のように変更する必要があります.
<?xml version="1.0" encoding="UTF-8"?>
<Context
    docBase="D:/workspace/myExt/WebRoot"
    reloadable="true">
  <Resource
    name="myDS"
    type="javax.sql.DataSource"
    maxActive="4"
    maxIdle="2"
    username="test"
    maxWait="5000"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    password="pwd"
    url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
</Context>

 
私は頼りにしています.このいくつかの問題は本当に死んでいますね.