A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Summer丶time 初级黑马   /  2019-1-16 16:24  /  828 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                        * 重定向的特点:redirect
                                1. 地址栏发生变化
                                2. 重定向可以访问其他站点(服务器)的资源
                                3. 重定向是两次请求。不能使用request对象来共享数据
                        * 转发的特点:forward
                                1. 转发地址栏路径不变
                                2. 转发只能访问当前服务器下的资源
                                3. 转发是一次请求,可以使用request对象来共享数据

Druid:数据库连接池实现技术,由阿里巴巴提供的
                1. 步骤:
                        1. 导入jar包 druid-1.0.9.jar
                        2. 定义配置文件:
                                * 是properties形式的
                                * 可以叫任意名称,可以放在任意目录下
                        3. 加载配置文件。Properties
                        4. 获取数据库连接池对象:通过工厂来来获取  DruidDataSourceFactory
                        5. 获取连接:getConnection
                * 代码:
                         //3.加载配置文件
                Properties pro = new Properties();
                InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties");
                pro.load(is);
                //4.获取连接池对象
                DataSource ds = DruidDataSourceFactory.createDataSource(pro);
                //5.获取连接
                Connection conn = ds.getConnection();
                2. 定义工具类
                        1. 定义一个类 JDBCUtils
                        2. 提供静态代码块加载配置文件,初始化连接池对象
                        3. 提供方法
                                1. 获取连接方法:通过数据库连接池获取连接
                                2. 释放资源
                                3. 获取连接池的方法


                * 代码:
                        public class JDBCUtils {

                            //1.定义成员变量 DataSource
                            private static DataSource ds ;
                       
                            static{
                                try {
                                    //1.加载配置文件
                                    Properties pro = new Properties();
                                    pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
                                    //2.获取DataSource
                                    ds = DruidDataSourceFactory.createDataSource(pro);
                                } catch (IOException e) {
                                    e.printStackTrace();
                                } catch (Exception e) {
                                    e.printStackTrace();
                                }
                            }
                       
                            /**
                             * 获取连接
                             */
                            public static Connection getConnection() throws SQLException {
                                return ds.getConnection();
                            }
                       
                            /**
                             * 释放资源
                             */
                            public static void close(Statement stmt,Connection conn){
                               /* if(stmt != null){
                                    try {
                                        stmt.close();
                                    } catch (SQLException e) {
                                        e.printStackTrace();
                                    }
                                }
                       
                                if(conn != null){
                                    try {
                                        conn.close();//归还连接
                                    } catch (SQLException e) {
                                        e.printStackTrace();
                                    }
                                }*/
                       
                               close(null,stmt,conn);
                            }
                       
                       
                            public static void close(ResultSet rs , Statement stmt, Connection conn){
                       
                       
                                if(rs != null){
                                    try {
                                        rs.close();
                                    } catch (SQLException e) {
                                        e.printStackTrace();
                                    }
                                }
                       
                       
                                if(stmt != null){
                                    try {
                                        stmt.close();
                                    } catch (SQLException e) {
                                        e.printStackTrace();
                                    }
                                }
                       
                                if(conn != null){
                                    try {
                                        conn.close();//归还连接
                                    } catch (SQLException e) {
                                        e.printStackTrace();
                                    }
                                }
                            }
                       
                            /**
                             * 获取连接池方法
                             */
                       
                            public static DataSource getDataSource(){
                                return  ds;
                            }
                       
                        }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马