课外天地 李树青学习天地JavaEE网站开发课件 → JNDI在JSP和Tomcat5.0平台上的使用


  共有14295人关注过本帖树形打印复制链接

主题:JNDI在JSP和Tomcat5.0平台上的使用

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1939 积分:26594 威望:0 精华:34 注册:2003/12/30 16:34:32
JNDI在JSP和Tomcat5.0平台上的使用  发帖心情 Post By:2009/4/21 21:00:55 [只看该作者]

1、新建Web站点

2、修改web.xml文件,为:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
        xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <display-name>tempweb</display-name>
        <resource-ref>
                <description>
                This defines a JNDI resource reference.
        </description>
                <res-ref-name>jdbc/leagueDB</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
                <res-auth>Container</res-auth>
        </resource-ref>
</web-app>


3、编写测试jsp网页:
<%@page c%>
<%@page import="java.sql.*"%>
<%@page import="javax.sql.*"%>
<%@page import="javax.naming.*"%>
<html>
<head>
<title></title>
</head>
<body>
<%
        Context ctx = new InitialContext();
        Context envCtx = (Context) ctx.lookup("java:comp/env");
        DataSource ds = (DataSource) envCtx.lookup("jdbc/leagueDB");
        Connection conn = ds.getConnection();
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("select * from League");
        while (rs.next()) {
                out.println(rs.getInt(1) + "<br>");
        }
        rs.close();
        stmt.close();
        conn.close();
%>
</body>
</html>


4、修改<TOMCAT>/conf/server.xml文件:
<Context path="/tempweb" docBase="tempweb" debug="0" reloadable="true">
  <Resource name="jdbc/leagueDB" type="javax.sql.DataSource" />
        <ResourceParams name="jdbc/leagueDB">
                <parameter>
                        <name>driverClassName</name>
                        <value>sun.jdbc.odbc.JdbcOdbcDriver</value>
                </parameter>
                <parameter>
                        <name>url</name>
                        <value>jdbc:odbc:SoccerLeague</value>
                </parameter>
                <parameter>
                        <name>url</name>
                        <value>jdbc:odbc:SoccerLeague</value>
                </parameter>
                <parameter>
                        <name>username</name>
                        <value>sa</value>
                </parameter>
                <parameter>
                        <name>password</name>
                        <value></value>
                </parameter>
                <parameter>
                        <name>maxActive</name>
                        <value>100</value>
                </parameter>
                <parameter>
                        <name>maxIdle</name>
                        <value>30</value>
                </parameter>
                <parameter>
                        <name>maxWait</name>
                        <value>10000</value>
                </parameter>
        </ResourceParams>
</Context>

注意:
1)Context标签中的项目名称myweb要换成当前的项目名称
2)该标签块要放入下面标签下:
      <Host name="localhost" debug="0" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">

如果是Eclipse,则首先运行临时服务器,然后修改临时服务器所在目录下的所有server.xml文件,如
C:\Documents and Settings\Administrator\workspace\Servers\Tomcat v5.0 Server at localhost-config\server.xml

C:\Documents and Settings\Administrator\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\server.xml

此时替换原有的Context标签即可(但是保留下面的标签头)
<Context docBase="tempweb" path="/tempweb" reloadable="true" source="org.eclipse.jst.j2ee.server:tempweb"/>

重启临时服务器即可

[此贴子已经被作者于2010-12-12 10:58:37编辑过]

 回到顶部