用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.html</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