Tomcat6下配置数据源及使用

1.将数据库驱动程序拷贝到tomcat/lib目录下面,同时在MYSQL的数据库test下建立表echo_message。

2..在tomcat根目录的conf/catalina/localhost(对于Tomcat6及其以上版本,需要自己创建catalina和localhost这两个目录)下增加wind.xml文件(该文件名为了更好的可读性最好和下面的path="/xxx"的xxx相同)

3.该文件内容: 
------------------------------------------------
<Context path="/wind"
    docBase="E:/StartPortableApps/jspTest"
    debug="5"
    reloadable="true"
    crossContext="true">
<Resource name="jdbc/wind"
    auth="Container"
    type="javax.sql.DataSource"
    maxActive="5"
    maxIdle="2"
    maxWait="10000"
    username="root"
    password="wind"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/test"/>
</Context>
------------------------------------------------

说明:
     path="虚拟路径" docBase="绝对路径"。
     其中name 指定数据源在容器中的JNDI名。
     maxActive 指定数据源最大活动连接数。
     maxIdle 指定数据池中最大空闲连接数。
     maxWait 指定数据池中最大等待获取连接的客户端。
     username 指定连接数据库的用户名。
     password 指定连接数据库的密码。
     driverClassName 指定连接数据库的驱动。
     url 指定数据库服务的URL

问题:
*****为什么要不修改server.xml呢?*****
在Tomcat6的doc帮助文档中,官方是不提倡修改server.xml来添加虚拟目录的!因为修改该文件可能引入额外的风险,例如导致Tomcat彻底崩溃。这样做还有一个好处是非常方便于项目的移植。

4.在上面的docBase路径(这里是E:/StartPortableApps/jspTest)下创建index.jsp来测试数据源
------------------------------------------------
<%@ page language="java" pageEncoding="GB2312"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.ResultSet"%>
<%@ page import="java.sql.Statement"%>
<%@ page import="javax.naming.Context"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="javax.sql.DataSource"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>index.jsp</title>
</head>

<body>
        <h2>测试数据源</h2>
    <%
        Context ctx = new InitialContext();
        
                // 通过JNDI查找数据源,该JNDI为java:comp/env/jdbc/wind,分为两部分;
                // java:comp/env是Tomcat固定的,必需加的前缀;
                // jdbc/wind是定义数据源时的数据源名;
        DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/wind");
        
        Connection conn = ds.getConnection();
        Statement stmt = conn.createStatement();
        
        ResultSet rs = stmt.executeQuery("select * from echo_message");
        
        while(rs.next()) {
    %>
    <%=rs.getString(2)%><br>
    <%}
    %>
</body>
</html>

------------------------------------------------

注意:
Tomcat数据源的配置分为两种:
全局数据源:对所有的web应用都可以访问。局部数据源:只能在某个web应用下访问。
这里是使用局部数据源。尽量不要使用全局数据源,因为使用全局数据源会破坏Tomcat原有的配置文件,可能会破坏Tomcat系统。

4.启动Tomcat,地址栏输入http://localhost:8080/wind/index.jsp

 

http://www.blogjava.net/bluewind/articles/194919.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值