1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
package org;
import java.io.*;
import java.util.Enumeration;
import java.net.URL;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.sql.*;
import javax.naming.*;
import java.sql.*;
public class JDBCPool extends HttpServlet {
private DataSource ds;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>DataSource</h1>");
if(ds!=null)
out.println("<p>"+ds.getClass().getCanonicalName()+"</p>");
else
out.println("<p>null</p>");
Connection com=null;
Statement stmt=null;
try
{
com=ds.getConnection();
String query = "select * from restaurants";
stmt = com.createStatement();
ResultSet rs = stmt.executeQuery(query);
out.println("<p>");
while (rs.next())
{
out.println("-------------------------"+"<br/>");
out.println("id : " + rs.getInt(1)+"<br/>");
out.println("name : " + rs.getString(2)+"<br/>");
out.println("city : " + rs.getString(3)+"<br/>");
}
out.println("</p>");
rs.close();
}
catch(Throwable t)
{
throw new RuntimeException(t.getMessage());
}
finally
{
if(com!=null)
{
try{com.close();}catch(Throwable t){}
}
if(stmt!=null)
{
try{stmt.close();}catch(Throwable t){}
}
}
out.println("</body>");
out.println("</html>");
}
public void init() throws ServletException
{
try
{
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource) envCtx.lookup("jdbc/myPool");
if(ds==null)
throw new UnavailableException("DataSource is null");
}
catch (Exception e)
{
throw new UnavailableException(e.getMessage());
}
}
} |