用jndi连接数据源的方法
1, 首先配置环境,安装,jdk,tomcat5.0,sqlserver。把sqlserver驱动加入 到X:\Tomcat 5\common\lib目录下,X代表tomcat5.0的安装盘符。
2, 打开X:\Tomcat 5\conf\server.xml文件,在<Service>段中加入一个Context: <Context path="/jsptest" docBase="jsptest" debug="5" reloadable="true" crossContext="true"> </Context> 运行tomcat。打开浏览器在地址栏中输入http://localhost:8080/,如果页面正常显示说明配置成功。进入tomcat的管理页面http://localhost:8080/admin/frameset.jsp ,选择左边树型目录的Data Sources选项,然后在右边的Data Source Actions选项中选择Create New Data Source ,分别输入各项的值 JNDI NAME为jdbc/mssql Data Source URL为jdbc:microsoft:sqlserver://192.168.1.14:1433;DatabaseName=pubs JDBC Driver Class为com.microsoft.jdbc.sqlserver.SQLServerDriver UserName 和Password为自己sqlserver的服务器地址,其他选项默认就可以了,最后保存退出。
3, 打开X:\Tomcat 5\conf\Catalina\localhost这个目录。下面会有一个jsptest.xml的的文件,打开后在<Context> </Context>加入 <ResourceLink global="jdbc/mssql" name="jdbc/mssql" type="javax.sql.datasource"/>然后保存文件
4, 在x:\Tomcat 5\webapps目录下新建名为jsptest的文件夹,然后在jsptest的文件夹里面建立名为WEB-INF的文件夹。在这个文件夹里面编写web.xml文件,代码如下 <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<description> Examples for the 'standard' taglib (JSTL)
</description>
<listener>
<listener-class>org.apache.taglibs.standard.examples.startup.Init</listener-class>
</listener>
<welcome-file-list> <welcome-file>index.jsp</welcome-file>
<welcome-file>index</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>/jstl-examples-taglib</taglib-uri>
<taglib-location>/WEB-INF/jstl-examples.tld</taglib-location> </taglib> <taglib>
<taglib-uri>http://jakarta.apache.org/taglibs/standard/scriptfree</taglib-uri> <taglib-location>/WEB-INF/scriptfree.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://jakarta.apache.org/taglibs/standard/permittedTaglibs</taglib-uri>
<taglib-location>/WEB-INF/permittedTaglibs.tld</taglib-location>
</taglib>
<resource-ref>
<description>connectDB test</description>
<res-ref-name>jdbc/mssql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth> </resource-ref>
</web-app>
5.在jsptest的文件夹下建立测试的jsp文件,名字为connpool.jsp的jsp文件 代码如下 <!--测试数据源--> <%@ page contentType="text/html; charset=gb2312" %> <%@ page import="javax.naming.Context" %> <%@ page import="javax.sql.DataSource"%> <%@ page import="javax.naming.InitialContext"%> <%@ page import="java.sql.*"%> <% try{ Context initContext = new InitialContext(); DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/mssql"); if(ds!=null) { out.println("已经获得DataSource!"); out.println("<br>"); Connection conn = ds.getConnection(); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery("select * from authors"); out.println("以下是从数据库中读取出来的数据"); out.println("<br>"); while(rs.next()) { out.println("authorsName:"+rs.getString("au_lname")); out.println("<br>"); } rs.close(); stmt.close(); conn.close(); } else out.println("连接失败!"); } catch(Exception ne) { out.println(ne); }
%> 打开tomcat,在地址栏中输入http://localhost:8080/jsptest/connpool.jsp就可以看到从数据库中得到的数据了! 好了,终于写完了,头一次写那么多的东西,比较粗糙,不足之处希望大家可以来给我指点一下。我的qq:20691633
----------------解决方案--------------------------------------------------------
呵呵
不错的了哈
向你学习ing
好贴,怎么能让沉了呢?我靠!!!
[此贴子已经被作者于2005-5-13 12:44:02编辑过]
----------------解决方案--------------------------------------------------------
写的不错嘛,学习中!!!!!
----------------解决方案--------------------------------------------------------
恩,好!支持一下。
----------------解决方案--------------------------------------------------------
支持!!!我加你,以后交流!~~
----------------解决方案--------------------------------------------------------
这个怎么看啊
[此贴子已经被作者于2005-11-22 12:50:14编辑过]
----------------解决方案--------------------------------------------------------
这个怎么看啊
你点击一下“运行代码”就OK了
----------------解决方案--------------------------------------------------------
哦,多谢提示,不过我想问一个问题
<Context path="/jsptest" docBase="jsptest" debug="5" reloadable="true" crossContext="true"> </Context>
我配置了之后起动Tomcat出现异常提示,因为我用的虚拟目录,我也把参数jsptest改成了我的虚拟目录名,但虽然出现Tomcat出现异常提示,可也可以打开其它的jsp文件,还有一个问题,docBase="jsptest" debug="5" 这两设置分别设置的是什么?
多谢先!!!
----------------解决方案--------------------------------------------------------
怎么这个论坛这么冷,版主哪去了,想想办法啊。
----------------解决方案--------------------------------------------------------