zoukankan      html  css  js  c++  java
  • [javaEE] tomcat内部连接池

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

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

    context.xml

    <?xml version="1.0" encoding="utf-8"?>
    <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.xml

        <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>
  • 相关阅读:
    C#for循环——迭代法、穷举法
    C#循环语句
    C#算数运算符、关系运算符、逻辑运算符、语句
    C#visual2012基本操作、数据类型、类型转换
    C#进制转化
    Ajax用法
    《四》JAVA 字符输入输出流
    《三》Java IO 字节输入输出流
    《二》Java IO 流的分类介绍
    《一》File 类的介绍
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5655607.html
Copyright © 2011-2022 走看看