Tomcat数据源,Jsp/Java使用JDNI服务来实现数据库连接
来源:互联网 发布:数据黑匣子 编辑:程序博客网 时间:2024/05/23 23:36
ps.记得将数据库的驱动程序复制到 lib 文件夹中
1.配置server.xml
--此示例的所有注释,只是为了解释作用,实际操作中切勿添加<Context path="/user" docBase="C:/userdemo" reloadable="true"> <Resource name="jdbc/user" --配置一个连接池资源,名称为jdbc/user auth="Container" --容器负责资源的连接 type="javax.sql.DataSource" --此数据源名称对应的类型是DataSource maxActive="100" --可以打开的最大连接数 maxIdle="30" --维持的最小连接数 maxWait="10000" --用户等待的最大时间 username="root" --数据库用户名 password="root" --数据库密码 driverClassName="com.mysql.jdbc.Driver" --数据库驱动程序 url="jdbc:mysql://localhost:3306/user" --数据库名称 /></Context>
注意,Resource节点的auth选项表示连接数据库的方法,一般有两种形式:
1、Container,容器将代表应用程序登录到资源管理器,一般使用这种形式;
2、Application,应用程序必须程序化地登录到资源管理器;
2.配置web.xml
<resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/user</res-ref-name> <ref-type>javax.sql.DataSource</ref-type> <res-auth>Container</res-auth></resource-ref>
3.通过数据源取得连接(jsp)
<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%><%@page import="javax.naming.*"%><%@page import="javax.sql.*"%><%@page import="java.sql.*"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body><% Connection conn = null;try{ //初始化名称查找上下文 Context ctx = new InitialContext(); //取得DataSource实例,()中为JNDI名称 DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/login"); //取得数据库连接 conn = ds.getConnection();} catch(Exception e) { e.printStackTrace();} %> <!-- 若不为空,则已连接 --> <%=conn %><%try{ //将数据库连接放回池中 conn.close();} catch(Exception e) { e.printStackTrace();}%></body></html>
注意,java:comp/env环境属性,
在javaEE规定的一个环境命名上下文,主要为了解决JNDI查找时的冲突
在tomcat中必须设置(其余的服务器不一定需要使用)
4.通过数据源取得连接(java)
在DAO开发中,常用此类,来替代用java来连接数据库
import java.sql.Connection;import javax.naming.*;import javax.sql.DataSource;public class DatabaseConnection { //定义JNDI的查找名称 private static final String DSNAME="java:comp/env/jdbc/user"; private Connection conn = null; public DatabaseConnection() throws Exception { //在构造方法中进行数据库连接 try { //初始化名称查找上下文 Context ctx = new InitialContext(); //取得DataSource的实例 DataSource ds = (DataSource) ctx.lookup(DSNAME); //取得数据库连接 this.conn = ds.getConnection(); } catch (Exception e) { e.printStackTrace(); } } public Connection getConnection() { //取得数据库连接 return this.conn; } public void close() throws Exception { //数据库关闭操作 if(this.conn != null) { try { this.conn.close(); } catch(Exception e) { throw e; } } }}
阅读全文
0 0
- Tomcat数据源,Jsp/Java使用JDNI服务来实现数据库连接
- JDNI数据源
- [数据库连接池二]Java数据库连接池--C3P0和JDNI.
- 通过JDNI来支持java mail
- jdni 数据库连接池
- JDNI配置数据库连接池
- 配置tomcat数据库连接池及使用数据库连接池(hibernate数据源配置和使用)
- 配置tomcat数据库连接池及使用数据库连接池(hibernate数据源配置和使用)
- Intellij IDEA下一个Tomcat启动带多个虚拟目录和JDNI数据源的应用的方法
- java使用tomcat数据源连接mysql
- Tomcat容器下 jdni 数据库连接也的配置 (oracle,mysql)
- Java程序数据库连接,数据源配置,数据库连接池
- Java程序数据库连接,数据源配置,数据库连接池
- 数据库连接池,数据源,数据库连接,JNDI,JAVA
- 数据库连接池,数据源,数据库连接,JNDI,JAVA
- 数据库连接池,数据源,数据库连接,JNDI,JAVA
- Java程序数据库连接,数据源配置,数据库连接池
- Java程序数据库连接,数据源配置,数据库连接池
- 面试有感
- centos6.8下无法使用lsof命令"-bash: lsof: command not found"
- codeforces 787A the monster(扩展欧几里得做法+暴力做法)
- window10下php7 nginx mysql redis 开发环境快速搭建
- opencv技术
- Tomcat数据源,Jsp/Java使用JDNI服务来实现数据库连接
- 一种SPA(单页面应用)架构
- Spring 中获取servletContext及WebApplicationContext
- DevExpress中的lookupedit的使用方法
- load-on-startup在web.xml中的含义
- [P3650]滑雪课程设计
- jQueryValidate 插件(表单验证功能)
- 第一篇博客
- 使用safari对webview进行调试