不是jsp(也就是java)连接数据库有以下方法1,jdbc-odbc桥
通过win下面的odbc设置数据源dsn2 直接用jdbc的api
还有林外2种方法,不常用,不记得了实际应用中,不会用第一种,效率太差,是当初sun为了退出java而用的,
并且运用中总是通过应用服务器配置数据库连接池和数据原datasource来连接数据库
我给你一篇此类文章:
---------------------------
介绍利用tomcat4.1内置连接池连接数据库的方法tomcat4.1较之以前的版本有了很大的变化,这里我们主要介绍利用tomcat4.1内置的连接池,连接数据库的方法,主要是对它的核心配置文件进行一些修改,比以往的方法更简洁,更高效。下面是针对两个不同的操作系统linux和windows的两个不同数据库的详细说明。 •linux操作系统:Rathat8.0数据库:mysql 下载下列软件包 j2sdk-1_4_0_02-linux-i586-rpm.bin jakarta-tomcat-4.1.12.tar mysql-3.23.53a-rpm mysql-connector-java-2.0.14.tar •windows操作系统:Windows 2000数据库:SQLServer2000 下载下列软件包 j2sdk-1_4_0_01-windows-i586 jakarta-tomcat-4.1.12.zip setup (Microsoft SQL server 2000 for Driver JDBC) 以下配置适用于redhat8.0-mysql环境,windows2000-sqlsever2000环境下的配置被注释掉了。其中locahost为redhat8.0-mysql和windows2000-sqlsever2000的主机名或IP地址。假设已经建好的数据库名为:DBjsp;用户名zktd;密码 123。 一、修改配置文件 1、在/tomcat/webapps目录下新建应用程序目录,如目录名为DBTest。2、在/tomcat/webapps/DBTest目录下新建分类子目录,如目录名分别为jsp,servlet,WEB-INF。3、在DBTest/WEB-INF目录下新建classes目录,以后自定义的javabean就放置在此目录下4、修改配置文件server.xml 打开配置文件/usr/local/tomcat/conf/server.xml 添加内容的位置在</context>和</host>标签之间 添加内容如下: <Context path="/DBTest" docBase="DBTest" debug="5" reloadable="true" crossContext="true"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_DBTest_log." suffix=".txt" timestamp="true"/> <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/TestDB"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <!-- Maximum number of dB connections in pool. Make sure you configure your mysqld max_connections large enough to handle all of your db connections. Set to 0 for no limit. --> <parameter> <name>maxActive</name> <value>100</value> </parameter> <!-- Maximum number of idle dB connections to retain in pool. Set to 0 for no limit. --> <parameter> <name>maxIdle</name> <value>30</value> </parameter> <!-- Maximum time to wait for a dB connection to become available in ms, in this example 10 seconds. An Exception is thrown if this timeout is exceeded. Set to -1 to wait indefinitely. --> <parameter> <name>maxWait</name> <value>10000</value> </parameter> <!-- MySQL dB username and password for dB connections --> <parameter> <name>username</name> <value>zktd</value> </parameter> <parameter> <name>password</name> <value>123</value> </parameter> <!-- Class name for mm.mysql JDBC driver --> <parameter> <name>driverClassName</name> <!--*用于sqlserver2000*<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>*sqlserver2000*--> <value>org.gjt.mm.mysql.Driver</value> </parameter> <!-- The JDBC connection url for connecting to your MySQL dB. The autoReconnect=true argument to the url makes sure that the mm.mysql JDBC Driver will automatically reconnect if mysqld closed the connection. mysqld by default closes idle connections after 8 hours. --> <parameter> <name>url</name> <!--*用于SQLServer2000*<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DBjsp</value>*SQLServer2000*--> <value>jdbc:mysql://localhost:3306/DBjsp</value> </parameter> </ResourceParams></Context> 5、新增一个配置文件:web.xml将配置文件放置在/tomcat/webapps/DBTest/WEB-INF/目录下。配置文件内容如下: <?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>MySQL Test App</description> <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/TestDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref></web-app> (6)、添加环境变量如果你的tomcat是新安装的,则需要修改下面的配置文件添加环境变量打开配置文件/etc/profile添加下面的环境变量 JAVA_HOME=/usr/java/jdk export JAVA_HOME CLASSPATH=/usr/java/jdk/src.zip export CLASSPATH PATH="$PATH:/usr/X11R6/bin":/usr/java/jdk/bin:/usr/java/jre/bin:. CATALINA_HOME=/usr/local/tomcatexport CATALINA_HOME 二、安装jdbc驱动程序 首先将mysql-connector-java-2.0.14.tar解压缩# tar xvzf mysql-connector-java-2.0.14.tar然后将JDBC的.jar文件拷贝到公共库的/tomcat/common/lib目录下 同样对于windows2000操作系统的sqlserver2000双击setup安装jdbc驱动程序,将/program files/microsoft SQL Server 2000 driver for JDBC/lib目录下的.jar文件拷贝至公共库的/tomcat/common/lib目录下 三、应用举例(用连接池连接数据库实例) (1) 在数据库DBjsp下建表testdatamysql> create table testdata (
-> id int not null auto_increment primary key,
-> foo varchar(25),
-> bar int); (2) 编写测试程序test.jsp,读取数据库表名为testdata的字段的内容,并将结果显示出来。testdata有两个字段foo和bar。 <html> <head> <title>DB Test</title> </head> <body> <% foo.DBTest tst = new foo.DBTest(); tst.init(); %> <h2>Results</h2> Foo <%= tst.getFoo() %><br/> Bar <%= tst.getBar() %> </body></html> (3)编写javabean程序取名为DBTest.java用于连接数据库,将编译好的DBTest.class保存到/tomcat/webapps/DBTest/WEB-INF/classes/foo目录下 package foo;import javax.naming.*;import javax.sql.*;import java.sql.*; public class DBTest { String foo = "Not Connected"; int bar = -1; public void init() { try{ Context ctx = new InitialContext(); if(ctx == null ) throw new Exception("Boom - No Context"); DataSource ds = (DataSource)ctx.lookup( "java:comp/env/jdbc/TestDB"); if (ds != null) { Connection conn = ds.getConnection(); if(conn != null) { foo = "Got Connection "+conn.toString(); Statement stmt = conn.createStatement(); ResultSet rst = stmt.executeQuery( "select id, foo, bar from testdata"); if(rst.next()) { foo=rst.getString(1); bar=rst.getInt(2); } conn.close(); } } }catch(Exception e) { e.printStackTrace(); } } public String getFoo() { return foo; } public int getBar() { return bar;}} (3) 启动tomcat,运行测试程序# /usr/local/tomcat/bin/startup.shhttp://localhost:8080/DBTest/test.jsp运行结果将显示testdata表中的foo和bar字段的内容。
通过win下面的odbc设置数据源dsn2 直接用jdbc的api
还有林外2种方法,不常用,不记得了实际应用中,不会用第一种,效率太差,是当初sun为了退出java而用的,
并且运用中总是通过应用服务器配置数据库连接池和数据原datasource来连接数据库
我给你一篇此类文章:
---------------------------
介绍利用tomcat4.1内置连接池连接数据库的方法tomcat4.1较之以前的版本有了很大的变化,这里我们主要介绍利用tomcat4.1内置的连接池,连接数据库的方法,主要是对它的核心配置文件进行一些修改,比以往的方法更简洁,更高效。下面是针对两个不同的操作系统linux和windows的两个不同数据库的详细说明。 •linux操作系统:Rathat8.0数据库:mysql 下载下列软件包 j2sdk-1_4_0_02-linux-i586-rpm.bin jakarta-tomcat-4.1.12.tar mysql-3.23.53a-rpm mysql-connector-java-2.0.14.tar •windows操作系统:Windows 2000数据库:SQLServer2000 下载下列软件包 j2sdk-1_4_0_01-windows-i586 jakarta-tomcat-4.1.12.zip setup (Microsoft SQL server 2000 for Driver JDBC) 以下配置适用于redhat8.0-mysql环境,windows2000-sqlsever2000环境下的配置被注释掉了。其中locahost为redhat8.0-mysql和windows2000-sqlsever2000的主机名或IP地址。假设已经建好的数据库名为:DBjsp;用户名zktd;密码 123。 一、修改配置文件 1、在/tomcat/webapps目录下新建应用程序目录,如目录名为DBTest。2、在/tomcat/webapps/DBTest目录下新建分类子目录,如目录名分别为jsp,servlet,WEB-INF。3、在DBTest/WEB-INF目录下新建classes目录,以后自定义的javabean就放置在此目录下4、修改配置文件server.xml 打开配置文件/usr/local/tomcat/conf/server.xml 添加内容的位置在</context>和</host>标签之间 添加内容如下: <Context path="/DBTest" docBase="DBTest" debug="5" reloadable="true" crossContext="true"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_DBTest_log." suffix=".txt" timestamp="true"/> <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/TestDB"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <!-- Maximum number of dB connections in pool. Make sure you configure your mysqld max_connections large enough to handle all of your db connections. Set to 0 for no limit. --> <parameter> <name>maxActive</name> <value>100</value> </parameter> <!-- Maximum number of idle dB connections to retain in pool. Set to 0 for no limit. --> <parameter> <name>maxIdle</name> <value>30</value> </parameter> <!-- Maximum time to wait for a dB connection to become available in ms, in this example 10 seconds. An Exception is thrown if this timeout is exceeded. Set to -1 to wait indefinitely. --> <parameter> <name>maxWait</name> <value>10000</value> </parameter> <!-- MySQL dB username and password for dB connections --> <parameter> <name>username</name> <value>zktd</value> </parameter> <parameter> <name>password</name> <value>123</value> </parameter> <!-- Class name for mm.mysql JDBC driver --> <parameter> <name>driverClassName</name> <!--*用于sqlserver2000*<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>*sqlserver2000*--> <value>org.gjt.mm.mysql.Driver</value> </parameter> <!-- The JDBC connection url for connecting to your MySQL dB. The autoReconnect=true argument to the url makes sure that the mm.mysql JDBC Driver will automatically reconnect if mysqld closed the connection. mysqld by default closes idle connections after 8 hours. --> <parameter> <name>url</name> <!--*用于SQLServer2000*<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DBjsp</value>*SQLServer2000*--> <value>jdbc:mysql://localhost:3306/DBjsp</value> </parameter> </ResourceParams></Context> 5、新增一个配置文件:web.xml将配置文件放置在/tomcat/webapps/DBTest/WEB-INF/目录下。配置文件内容如下: <?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>MySQL Test App</description> <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/TestDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref></web-app> (6)、添加环境变量如果你的tomcat是新安装的,则需要修改下面的配置文件添加环境变量打开配置文件/etc/profile添加下面的环境变量 JAVA_HOME=/usr/java/jdk export JAVA_HOME CLASSPATH=/usr/java/jdk/src.zip export CLASSPATH PATH="$PATH:/usr/X11R6/bin":/usr/java/jdk/bin:/usr/java/jre/bin:. CATALINA_HOME=/usr/local/tomcatexport CATALINA_HOME 二、安装jdbc驱动程序 首先将mysql-connector-java-2.0.14.tar解压缩# tar xvzf mysql-connector-java-2.0.14.tar然后将JDBC的.jar文件拷贝到公共库的/tomcat/common/lib目录下 同样对于windows2000操作系统的sqlserver2000双击setup安装jdbc驱动程序,将/program files/microsoft SQL Server 2000 driver for JDBC/lib目录下的.jar文件拷贝至公共库的/tomcat/common/lib目录下 三、应用举例(用连接池连接数据库实例) (1) 在数据库DBjsp下建表testdatamysql> create table testdata (
-> id int not null auto_increment primary key,
-> foo varchar(25),
-> bar int); (2) 编写测试程序test.jsp,读取数据库表名为testdata的字段的内容,并将结果显示出来。testdata有两个字段foo和bar。 <html> <head> <title>DB Test</title> </head> <body> <% foo.DBTest tst = new foo.DBTest(); tst.init(); %> <h2>Results</h2> Foo <%= tst.getFoo() %><br/> Bar <%= tst.getBar() %> </body></html> (3)编写javabean程序取名为DBTest.java用于连接数据库,将编译好的DBTest.class保存到/tomcat/webapps/DBTest/WEB-INF/classes/foo目录下 package foo;import javax.naming.*;import javax.sql.*;import java.sql.*; public class DBTest { String foo = "Not Connected"; int bar = -1; public void init() { try{ Context ctx = new InitialContext(); if(ctx == null ) throw new Exception("Boom - No Context"); DataSource ds = (DataSource)ctx.lookup( "java:comp/env/jdbc/TestDB"); if (ds != null) { Connection conn = ds.getConnection(); if(conn != null) { foo = "Got Connection "+conn.toString(); Statement stmt = conn.createStatement(); ResultSet rst = stmt.executeQuery( "select id, foo, bar from testdata"); if(rst.next()) { foo=rst.getString(1); bar=rst.getInt(2); } conn.close(); } } }catch(Exception e) { e.printStackTrace(); } } public String getFoo() { return foo; } public int getBar() { return bar;}} (3) 启动tomcat,运行测试程序# /usr/local/tomcat/bin/startup.shhttp://localhost:8080/DBTest/test.jsp运行结果将显示testdata表中的foo和bar字段的内容。
解决方案 »
- struts2的Action的参数死活接收不到form表单提交的参数
- struts jquery dtree求助
- JBuilder 2006 + Struts action.do空白页面问题
- 郁闷啊,麻烦大虾们帮忙解决,感谢万分!!!
- 用JavaMail接收邮件时出现的问题,比较急,请大家帮忙看看
- 用户退出问题
- 怎么返回错误啊
- hibernate 注解 有没有办法不生成外键
- 取得request中的值的问题
- 怎么把指针指向数据库的第一个数据的前面?~~~~~~~
- The server encountered an internal error () that prevented it from
- 又是连接MYSQL的问题,真快气死了!高分在线!
比如:jdbc:borland:dslocal:D:\JBuilder8\samples\JDataStore\datastores\employee.jds
strCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+mdbpath+"dbtest.mdb";jdbc:oracle:thin:@192.168.0.1:1521:ORADBjdbc:db2://hostname:50002/databasejdbc:informix-sqli://hostname:1526/dbname:INFORMIXSERVER=informixservername;user=username;password=password
等等..........