Tomcat数据源,Jsp/Java使用JDNI服务来实现数据库连接
2017-06-09 17:51
423 查看
ps.记得将数据库的驱动程序复制到 lib 文件夹中
注意,Resource节点的auth选项表示连接数据库的方法,一般有两种形式:
1、Container,容器将代表应用程序登录到资源管理器,一般使用这种形式;
2、Application,应用程序必须程序化地登录到资源管理器;
注意,java:comp/env环境属性,
在javaEE规定的一个环境命名上下文,主要为了解决JNDI查找时的冲突
在tomcat中必须设置(其余的服务器不一定需要使用)
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" --用户等待的最大时间 4000 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; } } } }
相关文章推荐
- 01-JDBC概念--JDBC(Java Database Connectivity:Java数据库连接):使用jdbc实现Java与数据库MySQL连接
- JSP使用纯Java数据库驱动程序连接数据库
- Java使用JDBC连接数据库的实现方法
- javaWeb——struct2 配置tomcat数据源方法连接数据库
- 一步步学习SPD2010--第七章节--使用BCS业务连接服务(2)--创建数据库外部数据源
- java使用JNDI 获取weblogic配置的数据源 连接数据库
- linux下使用apache http server 连接 tomcat 达到使用直接apache一个服务端口就可访问php和jsp
- java连接数据库方式(二):单独使用MyBatis 框架实现
- Spring MVC配置双数据源实现一个java项目同时连接两个数据库的方法
- 使用纯java jdbc驱动程序实现数据库的连接
- 通过代理类实现java连接数据库(使用dao层操作数据)实例分享
- JavaWeb:Tomcat下配置数据源连接数据库
- java使用JNDI 获取weblogic配置的数据源 连接数据库
- JavaWeb:Tomcat下配置数据源连接数据库
- Java使用JDBC连接数据库的实现方法
- 通过VS中的数据源选择对话框实现数据库连接配置(用户使用)
- 一步步学习SPD2010--第七章节--使用BCS业务连接服务(2)--创建数据库外部数据源
- JavaWeb:Tomcat下配置数据源(JNDI)连接数据库
- Java使用tomcat连接Sql server 2008数据库
- Java使用JDBC连接数据库的实现方法