WeblogicDbServlet.java Source code

Java tutorial

Introduction

Here is the source code for WeblogicDbServlet.java

Source

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

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

}