1.開啟$CATALINA_HOME/conf/server.xml檔案,在<Host>與</Host>之間添加如下指令碼:
<Context path="/DBTest" docBase="DBTest" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/testJndi" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="xiaolangs" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs"/>
</Context>
2.在$CATALINA_HOME/webapps下建立DBTest檔案夾,再建立testJndi.jsp檔案,檔案內容如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<body>
<%
Context ctx = new InitialContext();
Connection conn=null;
ctx = new InitialContext();
DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/testJndi"); //尋找JNDI資料來源名
conn = ds.getConnection();
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from authors";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){%>
this 1 column content is :<%=rs.getString(1)%><br>
this 2 column content is :<%=rs.getString(2)%><br>
<%}
out.print("資料庫操作成功,恭喜你!");
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
3.開啟http://localhost:8080/DBTest/testJndi.jsp
Ok.理論上已經成功了,如果失敗請你自己找原因,嘿嘿。更多資料請查看參考文獻頁面。