FileDocCategorySizeDatePackage
WeblogicDbServlet.javaAPI DocExample2849Mon Jul 28 15:44:14 BST 2003com.jspservletcookbook

WeblogicDbServlet.java

package com.jspservletcookbook;       

import java.util.Hashtable;    

import java.sql.*;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.*;

import javax.servlet.*;
import javax.servlet.http.*;

public class WeblogicDbServlet extends HttpServlet {

 DataSource pool;
   
 
  public void init() throws ServletException {
        
       Context env = null;
         
       Hashtable ht = new Hashtable();
       ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
       //ht.put(Context.PROVIDER_URL,"t3://localhost:7001");
    
      try {
    
         env = new InitialContext(ht);
         pool = (javax.sql.DataSource) env.lookup ("oracle-8i-athletes");
            
        if (pool == null)
            throw new ServletException("'oracle-8i-athletes' is an unknown DataSource");
             
        } catch (NamingException ne) { 
        
           throw new ServletException(ne);

        }
      
   }

  public void doGet(HttpServletRequest request, 
    HttpServletResponse response)
      throws ServletException, java.io.IOException {
    
        String sql = "select * from athlete";
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        ResultSetMetaData rsm = null;
        
        response.setContentType("text/html");
        java.io.PrintWriter out = response.getWriter();
        out.println("<html><head><title>Weblogic Database Access</title></head><body>");
        out.println("<h2>Database info</h2>");
        out.println("<table border='1'><tr>");
        
        try{ 
        
           conn = pool.getConnection();
           stmt = conn.createStatement();
      
           rs = stmt.executeQuery(sql);
           rsm = rs.getMetaData();
           int colCount =  rsm.getColumnCount();
            
           //print column names
           for (int i = 1; i <=colCount; ++i){
                
               out.println("<th>" + rsm.getColumnName(i) + "</th>");
           }
            
            out.println("</tr>");
          
            while( rs.next()){
                
                out.println("<tr>");
                
                for (int i = 1;  i <=colCount; ++i)
                    out.println("<td>" + rs.getString(i) + "</td>");
                
                  out.println("</tr>");
                }
                
        } catch (Exception e){
            
           throw new ServletException(e.getMessage());
            
        } finally {
            
            try{
                
                stmt.close();
                conn.close();
                
            } catch (SQLException sqle){ }
            
    }
      out.println("</table></body></html>");
      out.close();
      
     } //doGet

}