使用jndi技术在jsp中打印Connection对象

 

1、修改tomcat/conf目录下的context.xml,将以下信息复制进去

<Resource name="jdbc/shop"                
    <!--名字可随意取,该name值为通过上下文获取数据源的name参数后缀-->
              auth="Container"
              type="javax.sql.DataSource"
              maxActive="100"
              maxIdle="30"
              maxWait="10000"
              username="root"    <!--mysql 用户名-->
              password="123456"    <!--mysql 密码-->
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/shop?useUnicode=true&amp;characterEncoding=utf8"/>
              <!--localhost:3306/shop 表示本机中库名为shop的数据库-->

  将以上文本信息加到</Context> 标签上面 

     

 

 2、创建BaseDao类通过上下文获取数据源,以下的获取连接的方法

public Connection getConnection() {
        try {
            // 初始化上下文
            Context context = new InitialContext();
            //获取数据源
            DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/shop");
            // 获取连接
            connection = dataSource.getConnection();
        } catch (NamingException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    return connection; }

    

 

 3、检查tomcat/lib目录中是否有包含mysql连接驱动Driver的jar包,没有百度下一个放进去,如果你的jar包是8以上的版本,context.xml中的driverClassName值改成"com.mysql.cj.jdbc.Driver",

       

 

 最后运行并在网页中打印Connection对象,且每次刷新,前面9位数字都会发生改变

 

 因为每次返回的对象都不一样,且如果你一直刷新页面,Connection对象还一直不关闭,再次刷新或重新打开网页时将发现浏览器一直在尝试打开状况

 

即使重新打开网页也是如此,除非你重新启动Tomcat服务才能打开网页      

        

 

 我觉得原因的Connection每次刷新页面都创建了一个对象,占用了很多资源,导致网页打不开;

 解决办法,只生成一个connection对象

 

 

转载于:https://www.cnblogs.com/zeng1997/p/11603340.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值