package test; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; 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 TestServlet extends HttpServlet { private static final long serialVersionUID = 7133821315587941463L; private DataSource DATASOURCE; @Override public void init() throws ServletException { Exception ex = new Exception(); ex.printStackTrace(); super.init(); for (Data d : getEmployees()) { System.out.println(d.empid + " -> " + d.name); } } private class Data { public int empid; public String name; } private List getEmployees() { List ret = new ArrayList<>(); Connection con = null; Statement stmt = null; ResultSet rs = null; try { DataSource ds = getDataSource(); con = ds.getConnection(); stmt = con.createStatement(); rs = stmt.executeQuery("select empid, name from Employee"); while (rs.next()) { Data d = new Data(); d.empid = rs.getInt("empid"); d.name = rs.getString("name"); ret.add(d); } } catch (SQLException e) { e.printStackTrace(); } finally { try { rs.close(); stmt.close(); con.close(); } catch (SQLException e) { System.out.println("Exception in closing DB resources"); } } return ret; } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); response.setContentType("text/html"); out.print("

Employee Details

"); out.print(""); out.print(""); out.print(""); for (Data d : getEmployees()) { out.print(""); out.print(""); out.print(""); out.print(""); } out.print("
Employee IDEmployee Name
" + d.empid + "" + d.name + "

"); out.print(""); } private synchronized DataSource getDataSource() { if (DATASOURCE == null) { Context ctx = null; try { ctx = new InitialContext(); DATASOURCE = (DataSource) ctx.lookup("java:/comp/env/jdbc/MyLocalDB"); } catch (NamingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // TODO Auto-generated method stub return DATASOURCE; } }