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>
  • 相关阅读:
    第一次个人编程作业
    第一次博客作业
    20175311 2018-2019-2 《Java程序设计》第五周学习总结
    2018-2019-2 20175311 实验一《Java开发环境的熟悉》实验报告
    20175311 2018-2019-2 《Java程序设计》第四周学习总结
    团队项目-选题报告
    第二次结队编程作业
    第一次结对编程作业
    第1组 团队展示(组长)
    第一次个人编程作业
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5655607.html
Copyright © 2011-2022 走看看