认识JNDI

JNDI是Java命名和目录接口,用于查找和访问各种命名和目录服务。它简化了资源配置,例如在Tomcat的context.xml中配置环境变量和数据源。数据库连接池通过管理数据库连接,提高了系统性能和安全性。配置数据源涉及设置最大连接数、用户名、密码等,并在web.xml中进行引用。常见的配置错误包括驱动类加载失败、JDBC驱动配置错误和属性名绑定错误,解决方法包括检查jar文件、配置信息和代码中的key是否正确。
摘要由CSDN通过智能技术生成
  1. JNDI

JNDI是什么

  • Java Naming and Directory Interface:Java命名与目录接口

  • 目录服务的Java API

JNDI能做什么

  • 通过将名称与资源或服务进行关联,为查找和访问各种命名和目录服务提供通用、统一的接口

JNDI的作用与优点

  • 简化应用对于资源的配置及维护工作

  • 可以在更大范围、不同应用之间共享资源

配置资源

  • 修改Tomcat的context.xml文件,配置Environment环境变量

  • name:环境变量的名称

  • type:环境变量的Java类型全类名

  • value:环境变量的值

在JSP页面编写代码,通过JNDI访问发布的信息

通过Context的lookup()方法查找资源

  • 数据库连接:

存在问题

  • 重复创建、销毁数据库连接

  • 并发访问数量较大时,执行速度受到极大影响

  • 系统的安全性和稳定性较差

数据池连接

使用连接池管理数据库连接

  • 每次请求从连接池中获取数据库连接

  • 处理结束后,将数据库连接归还到连接池

配置数据源

  1. tomcat-->conf-->context.xml:

目录

说明

name

指定资源的JNDI名字

auth

指定管理资源的Manager

type

指定资源所属的Java类型

maxTotal

最大连接数,默认值为8,负数表示不受限制

maxIdle

最大空闲连接数,默认值为8,设置为负数表示不受限制

minIdle

最小连空闲接数,默认值为0

maxWaitMillis

最大等待数

username

指定连接数据库的用户名

password

指定连接数据库的密码

driverClassName

指定连接数据库的JDBC驱动程序

url

指定连接数据库的URL

注:不同的Web服务器设置数据源的方法也是不一样的

  1. 配置/WEB-INF/web.xml文件

目录

说明

description

引用资源说明

res-ref-name

引用资源的JNDI名字,与元素中的name属性对应

res-type

引用资源的Java类型,与元素中的type属性对应

res-auth

指定管理引用资源的Manager,与元素中的auth属性对应

  1. 在Tomcat的lib目录中添加数据库驱动jar文件

编写代码,查找并获取数据源

通过lookup()方法查找数据源

编写代码,测试从连接池中获取数据源

运行效果

JNDI配置常见错误

  1. 错误类型:无法加载驱动类

  • 报错信息

  • 错误原因

  • 缺少jar文件

  • 驱动类名拼写错误

  • 解决方案

  • 将JDBC驱动程序的jar文件添加到Tomcat的lib目录中

  • 检查驱动类名拼写是否正确

  1. 错误类型:无法创建JDBC驱动

  • 报错信息

  • 错误原因

  • 数据库驱动配置错误

  • 解决方案

  • 检查context.xml文件中数据源的配置信息,确保配置信息完全正确

  1. 错误类型:属性名绑定错误

  • 报错信息

  • 错误原因

  • 获取配置信息值的key错误,须使用前缀(java:comp/env/)+数据源名称

  • 解决方案

  • 检查代码,使用使用前缀(java:comp/env/)+数据源名称作为lookup()方法的参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值