【設定data source】
<data-source id="apDSXX" class="com.aaa.bbbb.JndiDataSource" type="mssql" loadOnStart="false">
<property name="jndi-name" value="XXXPool"/>
<property name="underlying-connection" value="true"/>
</data-source>
【建立jsp 】
在jsp裡寫java,透過JNDI查找,取得javax.sql.DataSource物件來和資料庫連線
<%@ page import ="java.io.*" %>
<%@ page import ="java.util.*" %>
<%@ page import ="javax.naming.Context" %>
<%@ page import ="javax.naming.InitialContext" %>
<%@ page import ="javax.naming.NamingException" %>
<%@ page import ="javax.sql.DataSource" %>
<%@ page import ="java.util.Properties" %>
<%@ page import ="java.sql.*" %>
<%
ResultSet rs =null;
try{
Context env = (Context) new InitialContext().lookup("java:comp/env");
DataSource dsptm = (DataSource)env.lookup("XXXPool");
Connection conn = dsptm.getConnection();
Statement stmt = conn.createStatement();
stmt.executeQuery("select GETDATE()"); //取得連線DB的時間
StringBuffer sb=new StringBuffer("XXXPool Now is: ");
rs = stmt.getResultSet();
if(rs.next()){
sb.append(rs.getString(1)+" , XXXPool success!");
}
if(rs != null){
rs.close();
rs =null;
}
if(stmt!=null){
stmt.close();
stmt =null;
}
if(conn!=null){
conn.close();
conn =null;
}
response.getWriter().println(sb.toString()); //印在畫面上
}catch (Exception e) {
e.printStackTrace();
}
%>