JSP连接数据库详解

现在有好多初学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如何连接mysql详解,这里使用的是tomcat6.0+jdk1.4.2+mysql5.1.51+mysql-connector-java-5.1.5.jar(mysqlJDBC驱动)

1.安装j2sdk1.6.0.22,安装目录:D:\Program Files\Java\jdk1.6.0_22

2.安装tomcat6.0,安装目录:D:\Program Files\Apache Software Foundation\Tomcat 6.0

3.安装mysql5.1.51 安装目录   D:\Program Files\MySQL\MySQL Server 5.1

4.设置环境变量:JAVA_HOME           D:\Program Files\Java\jdk1.6.0_22

           TOMCAT_HOME     D:\Program Files\Apache Software Foundation\Tomcat 6.0

           path: D:\Program Files\MySQL\MySQL Server 5.1\bin;%JAVA_HOME%\bin;

CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%tomcat_home%\lib;

5.设置tomcat虚拟目录的方法

<Context path="/web" docBase="D:\jspweb" debug="0" reloadable="true">
   </Context>
      </Host>,

打开D:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\server.xml,在</host>上一行,添加红色段,就完成添加虚拟目录(重启tomcat生效),虚拟目录为http://127.0.0.1:8080/web,所对应的物理路径是本机d:\jspweb目录下,需要在d:\jspweb下新建个名为WEB-INF文件夹,复制C:\Tomcat 6.0\webapps\ROOT\WEB-INF\web.xml到D:\jspweb\WEB-INF目录下,完成。

6.实用mysql数据库窗口下的管理工具Navicat for MySQL8.0.2中文版,创建数据库simple及表book

(http://download.csdn.net/source/2215496可以下载Navicat for MySQL8.0.2中文破解版),利用它可方便在图形界面下创建mysql数据库,表,记录等,创建数据库simple,数据库simple上创建表book,book含有4个字段,分别是bookid,bookname,writer,publish,代表书号,书名,作者,出版社。

7.下载mysql5数据库驱动(必须有它)mysql-connector-java-5.1.5.ZIP

http://download.csdn.net/source/2215526 可以下载

解压后得到mysql-connector-java-5.1.5-bin.jar,将mysql-connector-java-5.1.5-bin.jar复制到D:\jspweb\WEB-INF\lib路径下,D:\jspweb\WEB-INF\lib这个是网站web虚拟目录所对应的物理路径,经我测试,不需要将D:\jspweb\WEB-INF\lib复制到d:\Tomcat 6.0\lib下,也不需要复制到d:\Java\jdk1.6.0\lib下,只要复制到你要发表网站的那个路径就可以,如果是用tomcat下的发布,那么肯定需要复制到d:\Tomcat 6.0\webapps\ROOT\WEB-INF\lib,这个结合你的实际情况来。

8.连接Mysql数据库

创建firstmysql.jsp,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@page import="java.sql.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>       
     <title>JSP读取数据库</title>
</head>
<body>
<table border="1" align="center">
<tr>
   <th>书号</th>
   <th>书名</th>
   <th>作者</th>
   <th>出版社</th>
</tr>
<%
   String driverClass="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/simple";//之前数据库名simple
   String user="root";//MySQ帐号
   String password="root";//MYSQL密码
   Connection conn;
   try {
    Class.forName(driverClass).newInstance();
    conn=DriverManager.getConnection(url,user,password);
    Statement stmt=conn.createStatement();
   String sql="SELECT * FROM book";//表名book
    ResultSet rs=stmt.executeQuery(sql);
    while(rs.next()){
%>
<tr>
   <td><%=rs.getString("bookid")%></td>   
   <td><%=rs.getString("bookname")%></td>
   <td><%=rs.getString("writer")%></td>
   <td><%=rs.getString("publish")%></td>
</tr>
<%
    }
   }catch(Exception ex){
     ex.printStackTrace();
   }
%>
</body>
</html>

将firstmysql.jsp复制到D:\jspweb目录下,运行tomcat6,打开浏览器,输入http://127.0.0.1:8080/web/firstmysql.jsp

七、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>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值