配置servlet连接池

具体操作过程:

1、配置全局数据库连接池

在<tomcat安装目录>\conf\server.xml文件中找到<GlobalNamingResources>标签,添加下列配置:

[html]  view plain copy
  1. <Resource name="jdbc/webdb"   
  2.           auth="Container"  
  3.               type="javax.sql.DataSource"  
  4.               driverClassName="com.mysql.jdbc.Driver"  
  5.               url="jdbc:mysql://localhost:3306/webdb?characterEncoding=UTF-8"  
  6.               username="root"  
  7.           password="root"  
  8.           maxActive="200"  
  9.           maxIdle="50"  
  10.           maxWait="3000" />  

2、下载JDBC驱动的jar包,放在tomcat的lib目录下
3、在创建的webdemo工程中web.xml文件中增加下列配置:

[html]  view plain copy
  1. <resource-ref>  
  2.     <res-ref-name>jdbc/webdb</res-ref-name>  
  3.     <res-type>javax.sql.DataSource</res-type>  
  4.     <res-auth>Container</res-auth>  
  5.     <res-sharing-scope>Shareable</res-sharing-scope>  
  6.  </resource-ref>  

4、在webdemo工程的META-INF目录下增加一个context.xml文件,内容如下:

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <Context>  
  3.   <Listener className="org.apache.catalina.startup.TldConfig"/>  
  4.   <Listener className="org.apache.catalina.startup.TldConfig"/>  
  5.   <Listener className="org.apache.catalina.startup.TldConfig"/>  
  6.   <Listener className="org.apache.catalina.startup.TldConfig"/>  
  7.   <Resource  
  8.    auth="Container"  
  9.     description="webdb"  
  10.     name="jdbc/webdb"  
  11.     password="root"  
  12.     username="root"  
  13.     type="javax.sql.DataSource"  
  14.     driverClassName="com.mysql.jdbc.Driver"  
  15.     url="jdbc:mysql://localhost:3306/webdb?characterEncoding=UTF-8" />  
  16. </Context>  


5、访问数据库事例java文件

[java]  view plain copy
  1. package chapter4;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5.   
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10.   
  11. import java.sql.Connection;  
  12. import java.sql.PreparedStatement;  
  13. import java.sql.ResultSet;  
  14.   
  15. public class Helloworld extends HttpServlet {  
  16.   
  17.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  18.             throws ServletException, IOException {  
  19.   
  20.         response.setContentType("text/html; charset=UTF-8");  
  21.         PrintWriter out = response.getWriter();  
  22.           
  23.         try  
  24.         {  
  25.             javax.naming.Context ctx = new javax.naming.InitialContext();  
  26.             javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("java:/comp/env/jdbc/webdb");  
  27.               
  28.               
  29.             Connection conn = ds.getConnection();  
  30.             PreparedStatement pst = conn.prepareStatement("SELECT * FROM t_dictionary");  
  31.             ResultSet rs = pst.executeQuery();  
  32.             StringBuilder table = new StringBuilder();  
  33.             table.append("<table border='1'>");  
  34.             table.append("<tr><td>eg-name</td><td>ch-name</td></tr>");  
  35.             while(rs.next())  
  36.             {  
  37.                 table.append("<tr><td>"+rs.getString("english")+"</td><td>");  
  38.                 table.append(rs.getString("chinese")+"</td></tr>");  
  39.             }  
  40.             table.append("</table>");  
  41.             out.println(table.toString());  
  42.             pst.close();  
  43.         }  
  44.         catch(Exception e)  
  45.         {  
  46.             out.println(e.getMessage());  
  47.         }  
  48.     }  
  49.   
  50. }  



本文参考:http://blog.csdn.net/liminlimin_limin/article/details/41523117

你可能感兴趣的:(配置servlet连接池)