tomcat5.5连续池

1、修改%TOMCAT_HONE%/CONF/SERVER.XML文件,在<host></host>节点下添加以下内容:

xml 代码
  1. <Context crossContext="true" debug="5" docBase="BBS"     
  2.   path="/BBS" reloadable="true">     
  3. <Resource name="jdbc/BBS"     
  4. type="javax.sql.DataSource" auth="Container"     
  5. driverClassName="com.mysql.jdbc.Driver" maxActive="100"     
  6. maxIdle="30" maxWait="10000"     
  7. url="jdbc:mysql://localhost:3306/userdb?autoReconnect=true"     
  8. username="root" password="" />  
  9. Context> 

2、修改工程下的WEB.XML文件,添加以下内容:

xml 代码

 

  1. <resource-ref>  
  2.     <description>JNDI DataSource Testdescription>  
  3.     <res-ref-name>dbc/BBSres-ref-name>  
  4.     <res-type>javax.sql.DataSourceres-type>  
  5.     <res-auth>Containerres-auth>  
  6.     <res-sharing-scope>Shareableres-sharing-scope>  
  7.   resource-ref>  

3、将MySql驱动文件添加到%TOMCAT_HONE%/comman/lib目录下

4、进行代码编写

4.1、ConnectionPool类,实现数据库操作

  1. import java.sql.*;   
  2. import javax.sql.DataSource;   
  3. import javax.naming.InitialContext;   
  4. public class ConnectionPool {   
  5.     public void doSomething() throws Exception{   
  6.         Connection conn = null;   
  7.         InitialContext ctx = new InitialContext();   
  8.         DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/BBS");   
  9.         Statement stmt = null;   
  10.            
  11.         try{   
  12.             conn = ds.getConnection();   
  13.                
  14.             stmt = conn.createStatement();   
  15.             stmt.execute("delete from user");   
  16.              stmt.execute("insert into user(uid,password,realName,gender,email,tel,question,validateCode,answer,loginNum) values('1','2','3',4,'5','6','7',8,'9',10)");   
  17.             stmt.close();   
  18.             stmt = null;   
  19.             conn.close();   
  20.             conn = null;   
  21.         }finally{   
  22.             if(stmt!=null){   
  23.                 try{   
  24.                     stmt.close();   
  25.                 }catch(SQLException sqle){   
  26.                        
  27.                 }   
  28.                 stmt = null;   
  29.             }   
  30.                
  31.             if(conn != null){   
  32.                 try{   
  33.                     conn.close();   
  34.                 }catch(SQLException sqle){   
  35.                        
  36.                 }   
  37.                 conn = null;   
  38.             }   
  39.         }   
  40.            
  41.     }   
  42.        
  43.     public static void main(String args[]){   
  44.         try{   
  45.         new ConnectionPool().doSomething();}   
  46.         catch(Exception e){   
  47.             e.printStackTrace();   
  48.         }   
  49.     }   
  50. }   

4.2、InsertServlet  servlet文件,实现调用数据库功能类并实现跳转

java 代码
  1. import java.io.IOException;   
  2. import java.io.PrintWriter;   
  3.   
  4. import javax.servlet.ServletException;   
  5. import javax.servlet.http.HttpServlet;   
  6. import javax.servlet.http.HttpSession;   
  7. import javax.servlet.http.HttpServletRequest;   
  8. import javax.servlet.http.HttpServletResponse;   
  9.   
  10.   
  11. public class InsertServlet extends HttpServlet {   
  12.   
  13.     /**  
  14.      * The doGet method of the servlet. 
     
  15.      *  
  16.      * This method is called when a form has its tag value method equals to get.  
  17.      *   
  18.      * @param request the request send by the client to the server  
  19.      * @param response the response send by the server to the client  
  20.      * @throws ServletException if an error occurred  
  21.      * @throws IOException if an error occurred  
  22.      */  
  23.     public void doGet(HttpServletRequest request, HttpServletResponse response)   
  24.             throws ServletException, IOException {   
  25.   
  26.         ConnectionPool pool = new ConnectionPool();   
  27.         try{   
  28.             pool.doSomething();   
  29.             request.setAttribute("success""Success");   
  30.            
  31.         }catch(Exception e){   
  32.             request.setAttribute("success""failed");   
  33.             e.printStackTrace();   
  34.         }   
  35.            
  36.         this.getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);   
  37.            
  38.     }   
  39.   
  40.     /**  
  41.      * The doPost method of the servlet. 
     
  42.      *  
  43.      * This method is called when a form has its tag value method equals to post.  
  44.      *   
  45.      * @param request the request send by the client to the server  
  46.      * @param response the response send by the server to the client  
  47.      * @throws ServletException if an error occurred  
  48.      * @throws IOException if an error occurred  
  49.      */  
  50.     public void doPost(HttpServletRequest request, HttpServletResponse response)   
  51.             throws ServletException, IOException {   
  52.   
  53.         doGet(request,response);   
  54.     }   
  55.   
  56. }   

4.3  index.jsp文件  进行简单的页面输出功能

 

jsp 代码
  1.   
  2.   
  3.   
  4. "-//W3C//DTD HTML 4.01 Transitional//EN">   
  5.   
  6.      
  7.     " ">   
  8.        
  9.        
  10.     "pragma" content="no-cache">   
  11.     "cache-control" content="no-cache">   
  12.     "expires" content="0">       
  13.     "keywords" content="keyword1,keyword2,keyword3">   
  14.     "description" content="This is my page">   
  15.        
  16.      
  17.      
  18.      
  19.        
  20.      
  21.   

 

5、多个web应用共享数据库连接池。

5.1、修改%TOMCAT_HONE%/CONF/SERVER.XML文件,在<host></host>节点下添加以下内容:

 

  1. <Context path="/dbtest" docBase="dbtestweb" debug="5" reloadable="true" crossContext="true">  
  2.       <ResourceLink name="jdbc/Tours" global="jdbc/Tours" type="javax.sql.DataSource"/> Context>   

此处用到了ResourceLink,连接全局的Resource

你可能感兴趣的:(tomcat5.5连续池)