Tomcat6下配置数据源及使用

Posted on 2008-04-23 07:50 wind_miao 阅读(986) 评论(0)  编辑  收藏 所属分类: J2EE
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



只有注册用户登录后才能发表评论。


网站导航:
 

posts - 1, comments - 3, trackbacks - 0, articles - 7

Copyright © wind_miao