1,需要修改 postgreSQL 连接池04_postgreSQL

中的context.xml文件:

添加:

 

  1. <Resource driverClassName="org.postgresql.Driver" maxActive="4" maxIdle="2" maxWait="50"  
  2.   auth="Container" 
  3.   name="jdbc/postg" password="root" type="javax.sql.DataSource"  
  4.   url="jdbc:postgresql://192.168.2.150:5432/postgres" username="postgres"/> 
  5.      

工具类:ConnUtil

 

  1. package com.hw.util; 
  2.  
  3. import java.sql.Connection; 
  4. import java.sql.DriverManager; 
  5. import java.sql.SQLException; 
  6.  
  7. import javax.naming.Context; 
  8. import javax.naming.InitialContext; 
  9. import javax.naming.NamingException; 
  10. import javax.sql.DataSource; 
  11.  
  12. public class ConnUtil 
  13.     public static Connection getConn() 
  14.     { 
  15.         Connection conn = null
  16.         try 
  17.         { 
  18.             Class.forName("org.postgresql.Driver"); 
  19.             String url = "jdbc:postgresql://192.168.2.150:5432/postgres"
  20.             try 
  21.             { 
  22.                 conn = DriverManager.getConnection(url, "postgres""postgres"); 
  23.             } 
  24.             catch (SQLException e) 
  25.             { 
  26.                 e.printStackTrace(); 
  27.             } 
  28.         } 
  29.         catch (ClassNotFoundException e) 
  30.         { 
  31.             e.printStackTrace(); 
  32.         } 
  33.  
  34.         return conn; 
  35.     } 
  36.     public static Connection getJNDIConn(){ 
  37.         Context ctx=null
  38.         try 
  39.         { 
  40.             ctx = new InitialContext(); 
  41.         } 
  42.         catch (NamingException e1) 
  43.         { 
  44.             e1.printStackTrace(); 
  45.         } 
  46.         Connection conn=null
  47.         DataSource ds=null;; 
  48.         try 
  49.         { 
  50.             ds = (DataSource)ctx.lookup("java:comp/env/jdbc/postg"); 
  51.         } 
  52.         catch (NamingException e) 
  53.         { 
  54.             e.printStackTrace(); 
  55.         } 
  56.         try 
  57.         { 
  58.             conn=ds.getConnection(); 
  59.         } 
  60.         catch (SQLException e) 
  61.         { 
  62.             e.printStackTrace(); 
  63.         } 
  64.         return conn; 
  65.     } 
  66.  

servlet:

 

  1. package com.hw.servlet; 
  2.  
  3. import java.io.IOException; 
  4. import java.io.PrintWriter; 
  5. import java.sql.Connection; 
  6. import java.sql.ResultSet; 
  7. import java.sql.SQLException; 
  8. import java.sql.Statement; 
  9.  
  10. import javax.servlet.ServletException; 
  11. import javax.servlet.http.HttpServlet; 
  12. import javax.servlet.http.HttpServletRequest; 
  13. import javax.servlet.http.HttpServletResponse; 
  14.  
  15. import com.hw.util.ConnUtil; 
  16.  
  17. /** 
  18.  * Servlet implementation class PostgreServlet 
  19.  */ 
  20. public class PostgreServlet extends HttpServlet { 
  21.     private static final long serialVersionUID = 1L; 
  22.         
  23.     /** 
  24.      * @see HttpServlet#HttpServlet() 
  25.      */ 
  26.     public PostgreServlet() { 
  27.         super(); 
  28.     } 
  29.  
  30.     /** 
  31.      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
  32.      */ 
  33.     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
  34.         Connection conn=ConnUtil.getJNDIConn(); 
  35.         String sql="select * from student"
  36.         Statement stmt=null
  37.         ResultSet rs=null
  38.         PrintWriter out=response.getWriter(); 
  39.         try 
  40.         { 
  41.             stmt=conn.createStatement(); 
  42.             rs=stmt.executeQuery(sql); 
  43.             while(rs.next()){ 
  44.                 out.println(rs.getInt(1)); 
  45.             } 
  46.         } 
  47.         catch (SQLException e) 
  48.         { 
  49.             e.printStackTrace(); 
  50.         } 
  51.     } 
  52.  
  53.     /** 
  54.      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
  55.      */ 
  56.     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
  57.         doGet(request, response); 
  58.     } 
  59.  

项目结构如下:

 

postgreSQL 连接池04_jdbc_02