Tomcat5.0配置Sql Server2000连接池

    技术2022-05-11  53

    配置分为两部分:

    (1)。修改conf/server.xml文件加入

    <Context path="/songshan" docBase="songshan" debug="5" reloadable="true" crossContext="true"> <Resource name="jdbc/sqlserver" auth="Container" type="javax.sql.DataSource"/>

    <ResourceParams name="jdbc/postgres">  <parameter>    <name>factory</name>    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>  </parameter>  <parameter>    <name>driverClassName</name>    <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>  </parameter>  <parameter>    <name>url</name>    <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=growthModel</value>  </parameter>  <parameter>    <name>username</name>    <value>sa</value>  </parameter>  <parameter>    <name>password</name>    <value>1111</value>  </parameter>  <parameter>    <name>maxActive</name>    <value>20</value>  </parameter>  <parameter>    <name>maxIdle</name>    <value>10</value>  </parameter>  <parameter>    <name>maxWait</name>    <value>-1</value>  </parameter></ResourceParams>

    </Context> 

    (2)。修改应用中的WEB-INF/web.xml文件,加入:

     <resource-ref> <description>Datasource example</description> <res-ref-name>jdbc/sqlserver</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth></resource-ref>最后新建一个Servlet测试一下:

     

    package  com.haizg; import  java.io.IOException; import  java.io.PrintWriter; import  java.sql. * ; import  javax.naming.Context; import  javax.naming.InitialContext; import  javax.naming.NamingException; import  javax.sql. * ; import  javax.servlet. * ; import  javax.servlet.http. * ; public   class  TestDS  extends  HttpServlet  {     DataSource pool;     public void init() throws ServletException{         Context env = null;         try{             env = (Context) new InitialContext().lookup("java:comp/env");             pool = (DataSource) env.lookup("jdbc/sqlserver");             if (pool == null)                 throw new ServletException("no such datasource!");         }catch(NamingException ne){             throw new ServletException(ne.getMessage());         }     }     public void doGet(HttpServletRequest request,HttpServletResponse response)                            throws ServletException,IOException{         String sql = "select * from growthModel";         Connection conn = null;         Statement stmt = null;         ResultSet rs = null;         ResultSetMetaData rsm = null;                  PrintWriter out = response.getWriter();                  try{             conn = pool.getConnection();             stmt = conn.createStatement();             rs = stmt.executeQuery(sql);             rsm = rs.getMetaData();             int colNum = rsm.getColumnCount();                          out.println("<table>");             //表头             out.println("<tr>");             for(int i=1;i<=colNum;i++)                 out.println("<td>" + rsm.getColumnName(i) + "</td>");             out.println("</tr>");             //表内容             while(rs.next()){                 out.println("<tr>");                 for(int i = 1;i<=colNum;i++){                     out.println("<td>" + rs.getString(i) + "</td>" );                 }                 out.println("</tr>");             }             out.println("</table>");                      }catch(Exception e){             throw new ServletException(e.getMessage());         }finally{             try{                 if (stmt != null)                     stmt.close();                 if (conn != null)                     conn.close();             }catch(SQLException sqle){                              }         }                                         }}

    最新回复(0)