你的位置:首页 > Java教程

[Java教程][javaEE] tomcat内部连接池


在META-INF的目录下,新建context.

在程序中获取数据源,通过jndi,这个jndi必须在Servlet中才能获取,并且需要配置web.使servlet一启动就拿到数据源

context.

<??><Context>  <Resource  name="mySource"  type="javax.sql.DataSource"  username="root"  password="root"  driverClassName="com.mysql.jdbc.Driver"  url="jdbc:mysql:///java"  maxActive="8"  maxIdle="4"  /></Context>

package com.tsh.web;import java.io.IOException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import javax.naming.Context;import javax.naming.InitialContext;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 DataSourceTest extends HttpServlet {      /**   */  public DataSourceTest() {    super();    // TODO Auto-generated constructor stub  }  /**   */  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    // TODO Auto-generated method stub  }  /**   */  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  }  /**   * 创建后就会启动   */  @Override  public void init() throws ServletException {    try {      //注意导包javax.naming.Context;      Context context= new InitialContext();      Context jndi=(Context) context.lookup("java:comp/env");      DataSource source =(DataSource) jndi.lookup("mySource");      //注意导包 java.sql.Connection;      Connection conn=source.getConnection();      //获取传输器对象      Statement statement=conn.createStatement();      //获取结果集对象      ResultSet resultSet=statement.executeQuery("select * from user");      //遍历      while(resultSet.next()){        String username=resultSet.getString("username");        System.out.println(username);      }      //关闭资源      resultSet.close();      statement.close();      conn.close();    } catch (Exception e) {      e.printStackTrace();    }  }}

web.

  <servlet>    <servlet-name>DataSourceTest</servlet-name>    <servlet-class>com.tsh.web.DataSourceTest</servlet-class>    <load-on-startup>1</load-on-startup>  </servlet>  <servlet-mapping>    <servlet-name>DataSourceTest</servlet-name>    <url-pattern>/Servlet/DataSourceTest</url-pattern>  </servlet-mapping>