使用JNDI访问SQL Server数据库(tomcat服务器)
2016-05-15 18:13
549 查看
在使用开发工具开发项目的时候通常要访问数据库里面的数据,比较传统的方式是使用JDBC实现数据库的访问,为了简便和提高对数据库操作的性能,一种更简便的方式就是通过JNDI和数据库连接池来实现.
JNDI:Java命名与目录接口.是一种将对象和名字绑定的技术.使用JNDI应用程序可以通过名字获取对应的对象和服务.
数据库连接池是为了更好的管理与数据库的连接而产生的,工作原理与热线电话类似,允许用户重复使用一个现有的数据库连接,详情请百度.
数据源,负责建立与数据库的连接,应用程序可以直接从数据源中得到数据库连接.
访问数据库要配置两个文件context.xml和web.xml.
在tomcat服务器的文件目录中找到context.xml,打开之后在<Context>节点中添加<Resource>元素
name 指定Resource的JNDI名字
auth 指定Resource的Manager
type 指定Resource所属的Java类名
maxActive 指定数据库连接池中处于活动状态的数据库连接的最大数目
maxIdle 指定数据库连接中处于空闲状态的数据库连接的最大数目
maxWait 指定数据库连接池中数据库连接处于空闲状态的最长时间(以毫秒为时间)
username 指定连接数据库的用户名
password 指定连接数据库的密码
driverClassName 指定连接数据库的JDBC驱动
url 指定连接数据库的URL
web.xml文件的配置
在web.xml文件中的<web-app>节点下添加<resource-ref>元素
description 对所引用的资源的说明
res-ref-name 指定所引用资源的JNDI名字,与context.xml文件中<Resource>元素中的name属性对应
res-type 指定所引用资源的类名字,与context.xml文件中<Resource>元素中的type属性对应
res-auth 指定管理所引用资源的Manager,,与context.xml文件中<Resource>元素中的auth属性对应
数据源配置完成之后,要通过数据源访问数据库还要添加驱动文件,把驱动文件放到Tomcat的lib目录下
最后获取数据源对象完成数据库的连接
通过javax.naming.Context的lookup()方法查找JNDI Resource接口.
当数据库访问结束后,应该及时的调用Connection的close()方法将Connection返回到数据库连接池中,可以使Connection恢复空闲状态
总结:使用JNDI获取数据源访问数据库,分为以下四步
1.配置context.xml和web.xml中的文件
2.添加驱动
3.编写代码,实现lookup()方法获得Connection对象进行数据库的访问
JNDI:Java命名与目录接口.是一种将对象和名字绑定的技术.使用JNDI应用程序可以通过名字获取对应的对象和服务.
数据库连接池是为了更好的管理与数据库的连接而产生的,工作原理与热线电话类似,允许用户重复使用一个现有的数据库连接,详情请百度.
数据源,负责建立与数据库的连接,应用程序可以直接从数据源中得到数据库连接.
访问数据库要配置两个文件context.xml和web.xml.
在tomcat服务器的文件目录中找到context.xml,打开之后在<Context>节点中添加<Resource>元素
<Resource name="jdbc/news" auth="Container"
type="javax.sql.DataSource" maxActive="100" maxIdle="30"
username="sa" password="sa" dirverClassName="com.microsoft.sqlser.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433; DatabaseName=NewsManagerSystem"
/>DataSource对象的Resource元素属性
name 指定Resource的JNDI名字
auth 指定Resource的Manager
type 指定Resource所属的Java类名
maxActive 指定数据库连接池中处于活动状态的数据库连接的最大数目
maxIdle 指定数据库连接中处于空闲状态的数据库连接的最大数目
maxWait 指定数据库连接池中数据库连接处于空闲状态的最长时间(以毫秒为时间)
username 指定连接数据库的用户名
password 指定连接数据库的密码
driverClassName 指定连接数据库的JDBC驱动
url 指定连接数据库的URL
web.xml文件的配置
在web.xml文件中的<web-app>节点下添加<resource-ref>元素
<resource-ref> <description>news DataSource</description> <res-ref-name>jdbc/news</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>resource-ref元素的属性
description 对所引用的资源的说明
res-ref-name 指定所引用资源的JNDI名字,与context.xml文件中<Resource>元素中的name属性对应
res-type 指定所引用资源的类名字,与context.xml文件中<Resource>元素中的type属性对应
res-auth 指定管理所引用资源的Manager,,与context.xml文件中<Resource>元素中的auth属性对应
数据源配置完成之后,要通过数据源访问数据库还要添加驱动文件,把驱动文件放到Tomcat的lib目录下
最后获取数据源对象完成数据库的连接
通过javax.naming.Context的lookup()方法查找JNDI Resource接口.
//初始化上下文 Context c = new InitialContext(); //获取与逻辑名相关联的数据源对象 DataSource ds = (DataSource)c.loop("java:comp/env/jdbc/news");通过DataSrouce对象获取数据库连接对象Connection
Connection conn = ds.getConnection();
当数据库访问结束后,应该及时的调用Connection的close()方法将Connection返回到数据库连接池中,可以使Connection恢复空闲状态
总结:使用JNDI获取数据源访问数据库,分为以下四步
1.配置context.xml和web.xml中的文件
2.添加驱动
3.编写代码,实现lookup()方法获得Connection对象进行数据库的访问
相关文章推荐
- JavaWeb学习总结(3)------Tomcat服务器学习和使用(二)
- JavaWeb学习总结(2)------Tomcat服务器学习和使用(一)
- Intellij Idea系列之Tomcat环境的搭建(三)
- 如何修改tomcat的账号密码
- keepalived ,lvs,tomcat 高可用,高并发,高性能 应用架构的搭建
- keepalived ,egnix ,tomcat 高可用,高并发 应用架构的搭建
- tomcat配置虚拟目录和虚拟主机
- linux企业常用服务---部署Nginx+Tomcat负载均衡集群
- tomcat下log4j接管日志并按日期分割
- JBOSS配置+修改端口号+与Tomcat比较
- 启动tomcat出现 a java Exception has occured 解决方法
- Maven远程部署Tomcat
- Java知识:(3)Tomcat
- tomcat环境下服务器文件句柄耗尽(Too Many Open Files)的问题排查
- Tomcat-connector的微调(1): acceptCount参数(socket的backlog)(重要)
- Tomcat探秘(1):Tomcat是什么?
- apache2.4 + mod_proxy + tomcat7 配置集群和负载均衡
- tomcat JVM 性能优化
- tomcat中如何运行war包呢
- tomcat启动时自动运行代码