现在有好多初学jsp的网友经常会问数据库怎么连接啊,怎么老出错啊?所以我集中的在这写篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑用MVC的模式开发。在练习这些代码的时候,你一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以用下面SQL建

create table test(test1 varchar(20),test2 varchar(20)

然后向这个表写入一条测试纪录

那么现在开始我们的jsp和数据库之旅吧。

一、jsp连接Oracle8/8i/9i数据库(用thin模式)

testoracle.jsp如下: 
< %@ page contentType="text/html;charset=gb2312"%> 
< %@ page import="java.sql.*"%> 
< html> 
< body> 
< %Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
String url="jdbc:oracle:thin:@localhost:1521:orcl"; 
//orcl为你的数据库的SID 
String user="scott"; 
String password="tiger"; 
Connection conn= DriverManager.getConnection(url,user,password); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql="select * from test"; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()) {% > 
您的第一个字段内容为:< %=rs.getString(1)% > 
您的第二个字段内容为:< %=rs.getString(2)% > 
< %}% > 
< %out.print("数据库操作成功,恭喜你");% > 
< %rs.close(); 
stmt.close(); 
conn.close(); 
% > 
< /body> 
< /html> 
二、jsp连接Sql Server7.0/2000数据库 
testsqlserver.jsp如下: 
< %@ page contentType="text/html;charset=gb2312"%> 
< %@ page import="java.sql.*"%> 
< html> 
< body> 
< %Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
String url="jdbc:microsoft: sqlserver://localhost:1433;DatabaseName=pubs"; 
//pubs为你的数据库的 
String user="sa"; 
String password=""; 
Connection conn= DriverManager.getConnection(url,user,password); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql="select * from test"; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()) {%> 
您的第一个字段内容为:< %=rs.getString(1)%> 
您的第二个字段内容为:< %=rs.getString(2)%> 
< %}%> 
< %out.print("数据库操作成功,恭喜你");%> 
< %rs.close(); 
stmt.close(); 
conn.close(); 
% > 
< /body> 
< /html> 
三、jsp连接DB2数据库 
testdb2.jsp如下: 
< %@ page contentType="text/html;charset=gb2312"%> 
< %@ page import="java.sql.*"%> 
< html> 
< body> 
< %Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); 
String url="jdbc: db2://localhost:5000/sample"; 
//sample为你的数据库名 
String user="admin"; 
String password=""; 
Connection conn= DriverManager.getConnection(url,user,password); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql="select * from test"; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()) {%> 
您的第一个字段内容为:< %=rs.getString(1)%> 
您的第二个字段内容为:< %=rs.getString(2)%> 
< %}%> 
< %out.print("数据库操作成功,恭喜你");%> 
< %rs.close(); 
stmt.close(); 
conn.close(); 
% > 
< /body> 
< /html> 
四、jsp连接Informix数据库 
testinformix.jsp如下: 
< %@ page contentType="text/html;charset=gb2312"%> 
< %@ page import="java.sql.*"%> 
< html> 
< body> 
< %Class.forName("com.informix.jdbc.IfxDriver").newInstance(); 
String url = 
"jdbc:informix- sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver; 
user=testuser;password=testpassword"; 
//testDB为你的数据库名 
Connection conn= DriverManager.getConnection(url); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql="select * from test"; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()) {% > 
您的第一个字段内容为:< %=rs.getString(1)%> 
您的第二个字段内容为:< %=rs.getString(2)%> 
< %}%> 
< %out.print("数据库操作成功,恭喜你");%> 
< %rs.close(); 
stmt.close(); 
conn.close(); 
% > 
< /body> 
< /html> 
五、jsp连接Sybase数据库 
testmysql.jsp如下: 
< %@ page contentType="text/html;charset=gb2312"%> 
< %@ page import="java.sql.*"%> 
< html> 
< body> 
< %Class.forName("com.sybase.jdbc.SybDriver").newInstance(); 
String url =" jdbc:sybase:Tds:localhost:5007/tsdata"; 
//tsdata为你的数据库名 
Properties sysProps = System.getProperties(); 
SysProps.put("user","userid"); 
SysProps.put("password","user_password"); 
Connection conn= DriverManager.getConnection(url, SysProps); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql="select * from test"; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()) {% > 
您的第一个字段内容为:< %=rs.getString(1)%> 
您的第二个字段内容为:< %=rs.getString(2)%> 
< %}%> 
< %out.print("数据库操作成功,恭喜你");%> 
< %rs.close(); 
stmt.close(); 
conn.close(); 
% > 
< /body> 
< /html> 
六、jsp连接MySQL数据库 
testmysql.jsp如下: 
< %@ page contentType="text/html;charset=gb2312"%> 
< %@ page import="java.sql.*"%> 
< html> 
< body> 
< %Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
String url ="jdbc: mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" 
//testDB为你的数据库名 
Connection conn= DriverManager.getConnection(url); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql="select * from test"; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()) {% > 
您的第一个字段内容为:< %=rs.getString(1)%> 
您的第二个字段内容为:< %=rs.getString(2)%> 
< %}%> 
< %out.print("数据库操作成功,恭喜你");%> 
< %rs.close(); 
stmt.close(); 
conn.close(); 
% > 
< /body> 
< /html> 
七、jsp连接PostgreSQL数据库 
testmysql.jsp如下: 
< %@ page contentType="text/html;charset=gb2312"%> 
< %@ page import="java.sql.*"%> 
< html> 
< body> 
< %Class.forName("org.postgresql.Driver").newInstance(); 
String url ="jdbc: postgresql://localhost/soft" 
//soft为你的数据库名 
String user="myuser"; 
String password="mypassword"; 
Connection conn= DriverManager.getConnection(url,user,password); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql="select * from test"; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()) {% > 
您的第一个字段内容为:< %=rs.getString(1)%> 
您的第二个字段内容为:< %=rs.getString(2)%> 
< %}%> 
< %out.print("数据库操作成功,恭喜你");%> 
< %rs.close(); 
stmt.close(); 
conn.close(); 
% > 
< /body> 
< /html>