Mega Code Archive

 
Categories / Java Tutorial / Database
 

Use JNDI to get database connection or data source

import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.servlet.Servlet; 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 Main extends HttpServlet implements Servlet {   protected void doGet(HttpServletRequest request, HttpServletResponse response)       throws ServletException, IOException {     DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");     response.setContentType("text/html");     PrintWriter writer = response.getWriter();     Connection connection = getConnection();     if (connection != null) {       String sql = "SELECT SYSDATE FROM DUAL";       try{       PreparedStatement statement = connection.prepareStatement(sql);       ResultSet rs = statement.executeQuery();       while (rs.next()) {         Date date = rs.getDate("SYSDATE");         writer.println("The current date is " + dateFormat.format(date));       }       connection.close();       }catch(Exception e){         System.out.println(e);       }     }   }   protected void doPost(HttpServletRequest request, HttpServletResponse response)       throws ServletException, IOException {   }   private Connection getConnection() {     Connection connection = null;     try {       InitialContext context = new InitialContext();       DataSource dataSource = (DataSource) context.lookup("jdbc/DataSource");       connection = dataSource.getConnection();     } catch (NamingException e) {       e.printStackTrace();     } catch (SQLException e) {       e.printStackTrace();     }     return connection;   } }