黑马程序员技术交流社区

标题: 【成都校区】 学习交流 [打印本页]

作者: Summer丶time    时间: 2019-1-16 16:24
标题: 【成都校区】 学习交流
                        * 重定向的特点: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;
                            }
                       
                        }






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2