Web项目配置数据源——JNDI
来源:互联网 发布:扫一扫英文翻译的软件 编辑:程序博客网 时间:2024/05/09 01:10
Tomcat-->conf-->在context.xml节点中添加配置
<?xml version='1.0' encoding='utf-8'?>
<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
<Resource name="jdbc/source"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="scott"
password="smq"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:XE" />
</Context>
Web项目-->Web-Root-->在web.xml节点中添加配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<resource-ref>
<res-ref-name>jdbc/source</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
web项目-->src-->com.niit.util-->DBUtil.Java
public class DBUtil {
private DBUtil(){}
//JNDI方式配置数据源
public synchronized static Connection getConnectionByJNDI(){
Connection con = null;
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/source");
con = ds.getConnection();
} catch (NamingException e) {
System.out.println("连接错误!");
// e.printStackTrace();
}catch(SQLException e){
System.out.println("获取连接失败!");
// e.printStackTrace();
}
return con;
}
public static void closeResource(ResultSet rs,Statement stmt,Connection con){
try {
if(rs != null){
rs.close();
}
if(stmt != null){
stmt.close();
}
if(con != null){
con.close();
}
}catch (SQLException e) {
System.out.println("关闭资源失败!");
// e.printStackTrace();
}
}
}
注意事项:
1、在context.xml中的引用的资源名称必须和web.xml中保持一致;
2、web容器中要添加数据库的驱动jar,将tomecat目录中lib文件夹下的class12文件替换为ojdbc14;
3、java中访问数据源应在web容器开启后在jsp或servlet中进行访问,不能再main方法中直接调用。
JNDI配置数据源就是应用服务器通过WEB容器连接数据库,达到分布式的开发并集成服务器的目的,不像JDBC直接使用应用程序进行数据库连接。不开启任何WEB服务器,就无法启动JNDI。
- Web项目配置数据源——JNDI
- JNDI学习总结-项目实例—JNDI数据源的配置
- JNDI 之web项目数据源配置
- Java使用JNDI配置WEB项目数据源
- Java使用JNDI配置WEB项目数据源
- 网站项目配置数据源--JNDI
- Web项目配置数据源——c3p0_properties
- JNDI学习总结(一)——JNDI数据源的配置
- JNDI学习总结(一)——JNDI数据源的配置
- JNDI学习总结(一)——JNDI数据源的配置
- JNDI学习总结(一)——JNDI数据源的配置
- JNDI学习总结(一)——JNDI数据源的配置
- JNDI学习总结(一)——JNDI数据源的配置
- JNDI学习总结(一)——JNDI数据源的配置
- JNDI学习总结(一)——JNDI数据源的配置
- JNDI学习总结(一)——JNDI数据源的配置
- JNDI学习总结(一)——JNDI数据源的配置
- JNDI学习总结(一)——JNDI数据源的配置
- windbg-!process显示进程
- Python——用turtle模块画海龟的第一步
- cocos2dx-动作
- Android中关于字体宽高的获取
- Android 简单数据存储之SharedPreferences简介(含方法及示例)
- Web项目配置数据源——JNDI
- WinForm 通过线程互斥仅启动一个实例
- (Debug)运行ASP.NET网站时报配置错误:未能加载System.web.DataVisualization.dll
- MySQL表连接
- 这两天工作有点失落
- Windows Server 2008通过计划任务定时执行bat文件
- 回调函数(CALLBACK)学习总结
- 面试题46: 使用构造函数和函数指针完成加法求和
- box-sizing:border-box用于移动端页面的开发!