- JNDI:Java Naming and Directory Interface。
1. JNDI:
是SUN公司推出的一套规范,属于JavaEE技术之一。目的是模仿windows系统中的注册表。
用于在服务器中注册数据源
2. 使用步骤:
1. 创建maven-webapp工程
2. 完善目录结构,并设置目录属性:
src/main/java
src/main/resource
src/test/java
3. 导入依赖:
mysql-connector-java
servlet-api
jsp-api
junit
log4j(可选)
4. 在webapp目录下新建目录结构:
/webapp/META-INF
5. 新建context.xml配置文档:
/webapp/META-INF/context.xml
6. 配置属性:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource
name="jdbc/xxx" 自定义数据源的目录名称
type="javax.sql.DataSource" 数据源类型
auth="Container" 数据源提供者
maxActive="20" 最大活动数
maxWait="10000" 最大等待时间
maxIdle="5" 最大空闲数
username="root" 用户名
password="1234" 密码
driverClassName="com.mysql.jdbc.Driver" 驱动类
url="jdbc:mysql://localhost:3306/test" 连接url字符串
/>
</Context>
7. 在SqlMapConfig.xml配置文件中配置dataSource标签
<!-- 配置连接数据库的必备信息 type属性表示是否使用数据源(连接池)-->
<dataSource type="JNDI">
<!--value中java:comp/env是固定路径,jdbc/xxx是自定义的目录名称-->
<!--两者组合后再连接上自定义的键名,就可以取出确定的键值-->
<property name="data_source" value="java:comp/env/jdbc/xxx"/>
</dataSource>
8. 将项目部署到tomcat上:
此时,单元测试不能获取到数据,原因是因为不经过服务器无法获取到数据
在jsp页面中使用标准的流程可以正确读取到数据库中数据