Tomcat数据源配置
1.通过ConnectionPool管理数据库连接
2.通过DataSource去管理ConnectionPool
3.DataSource被JNDI绑定
能减少数据库打开和关闭的操作次数,节约资源
在开发中,基本上都是使用此种连接方式,可以提高性能
首先,初学者会有疑问,为什么会使用数据源呢?
使用数据源是为了提高数据库的访问效率.tomcat容器会接管数据库的connnection对象.他会根据参数的设置,预先实例化若干个connection对象在内存中。这样大大的提高了数据库的访问速度和操作效率.
全局设置:供所有项目使用
%TOMCAT_HOME%/conf/context.xml
指定项目设置,webapp就是你的web项目,只供当前项目使用
WebApp/META-INF/context.xml
使用全局的数据源,要把数据库的JDBC驱动拷贝到%TOMCAT_HOME%/lib下;使用项目数据源,需要拷贝到项目的lib下
下面是 context.xml代码
下面是JSP的调用代码 test.jsp
1.通过ConnectionPool管理数据库连接
2.通过DataSource去管理ConnectionPool
3.DataSource被JNDI绑定
能减少数据库打开和关闭的操作次数,节约资源
在开发中,基本上都是使用此种连接方式,可以提高性能
首先,初学者会有疑问,为什么会使用数据源呢?
使用数据源是为了提高数据库的访问效率.tomcat容器会接管数据库的connnection对象.他会根据参数的设置,预先实例化若干个connection对象在内存中。这样大大的提高了数据库的访问速度和操作效率.
全局设置:供所有项目使用
%TOMCAT_HOME%/conf/context.xml
指定项目设置,webapp就是你的web项目,只供当前项目使用
WebApp/META-INF/context.xml
使用全局的数据源,要把数据库的JDBC驱动拷贝到%TOMCAT_HOME%/lib下;使用项目数据源,需要拷贝到项目的lib下
下面是 context.xml代码
- <Context>
- <WatchedResource>WEB-INF/web.xml</WatchedResource>
- <Resource
- name="jdbc/jspdev"
- type="javax.sql.DataSource"
- maxActive="100"
- maxIdle="30"
- maxWait="5000"
- username="sa"
- password="tri12345"
- driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
- url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev"
- />
- <Resource
- name="jdbc/emp"
- type="javax.sql.DataSource"
- maxActive="100"
- maxIdle="30"
- maxWait="5000"
- username="scott"
- password="tri12345"
- ValidationQuery="select count(*) from dual"
- driverClassName="oracle.jdbc.driver.OracleDriver"
- url="jdbc:oracle:thin:@127.0.0.1:1521:ora9"
- />
- <Resource
- name="jdbc/net"
- type="javax.sql.DataSource"
- maxActive="100"
- maxIdle="30"
- maxWait="5000"
- username="root"
- password="mysqladmin"
- driverClassName="com.mysql.jdbc.Driver" ValidationQuery="select count(*) from dual"
- url="jdbc:mysql://192.168.1.251/net"
- />
- </Context>
下面是JSP的调用代码 test.jsp
- <%@ page contentType="text/html;charset=gbk" %>
- <%@ page import="java.sql.*"%>
- <%@ page import="javax.sql.*"%>
- <%@ page import="javax.naming.*"%>
- <%
- String JNDINAME = "java:comp/env/jdbc/net" ;
- request.setCharacterEncoding("gbk");
- Connection conn = null ;
- try
- {
- // 初始化查找命名空间
- Context ctx = new InitialContext() ;
- // 找到DataSource
- DataSource ds = (DataSource)ctx.lookup(JNDINAME) ;
- conn = ds.getConnection() ;
- out.write(conn.toString());
- }
- catch(Exception e)
- {
- System.out.println(e) ;
- }
- // 将连接重新放回到池中
- conn.close() ;
- %>