jsp连接数据库终于成功了

这段时间其实最纠结的就是数据库怎样可以和jsp连接在一起,今天终于有所突破了。

http://blog.csdn.net/huangbiao86/article/details/6428608

突破性的是这个:http://zhidao.baidu.com/question/214953537.html&__bd_tkn__=6ea95d343b2edc375b16a07793a224ac8f48dffb8078338d51fed8133ea5c69d362ad36bb4bcda3b39bb3949f6bbe47087ac3af56e60b1f4e7eb60157a5df93b9864acfb590f03de01252779a441bb7a4f71ea710a28bf84d14b3478742e3a5dbf667f3249b2add89906faaccbdc8c0bc33726f74cae

其实原因就是没有将sql.jar包含在lib中。导致一直找不到数据。多简单的问题,困扰了这么长时间。还好终于解决了。

几个有用的东西;这个是Sql。我连接的是mysql,但是基本原理是一样的。

JSP连接SQL Server 2000

数据库操作现在是项目开发的根本,学习Java首先应该学会怎么样连接数据库,用Java连接数据库可不像用Delphi这类工具那样设几个属性就OK,说 简单也简单,说复杂,其实也挺复杂的,而且很麻烦,如果是初学,根本不能保证第一次就连接成功,下面以SQL Server 2000为例,说说Java连接数据库的基本方法,也记录一下心得。

1、下载SQL Server 2000 driver for JDBC
       SQL Server 2000 Driver For JDBC Downloads
       该驱动截止目前有四个版本,建议下载最新的SP3版。
       该驱动安装成功后,请将安装目录下的lib目录下的三个.jar文件加到CLASSPATH中;如果你使用的是JBuilder或Eclipse,将这三个文件根据IDE的提示加到工程中也可。

2、升级你的SQL Server 2000,为其打上最新的补丁。
       这一步可能不是必需的,因操作系统环境而定,在不打补丁的情况,有时可以正常连接,有时却不能,所以建议还是安装最新的SQL Server 2000补丁(SP4)和JDBC驱动(SP3)。
       如果你的程序在运行时提示:Error establishing socket,一般情况下,打上SQL Server 2000的补丁就可解决。

3、驱动的加载方法
      在建立连接之前,要先加载SQL Server 2000 JDBC的驱动,代码形式如下:
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
      在此注意,forName方法的参数字符串必须完全相同于以上内容,大小写是区分的,其实这个串就是驱动类的完整名称:包名+类名。

4、获得一个连接
      在操作数据库之前,要先获得与数据库的一个连接,使用如下代码格式:
      DriverManager.getConnection(连接字符串, 登录用户名, 登录密码);
      例:
      DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", "");
      在此处关键的是连接字符串的内容,localhost部分即服务器的名字,可以更改;1433部分为SQL Server使用的端口号,根据实际情况修改即可;DatabaseName即为要连接的数据库的名字,在此注意DatabaseName之前的是分号, 而不是冒号。

5、代码实例

// 导入Java SQL包,连接数据库必需;
import java.sql.*;

public class TestDB {
   public static void main(String[] args) {
       String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
       String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs";
       String userName = "sa";
       String userPwd = "";
       Connection dbConn

       try {
           Class.forName(driverName);
           dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
           System.out.println("Connection Successful!");
       }
       Catch (Exception e) {
           e.printStackTrace();
       }
   }
}

6、可能出现的问题
      如果以上的代码运行后,输出"Connection Successful!",那就代表一切正常,连接数据库成功,你可以进行Statement、ResultSet的操作了;反之的话,一定是出现了相应的异常。
      如果提示错误"Error establishing socket",请根据之前的说明安装相应的SQL Server 2000补丁即可。
      如果提示"ClassNotFoundException",那一定是 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 该段代码拼写有误,或者是SQL Server 2000 Driver For JDBC Lib目录下的三个.jar文件未加入到CLASSPATH中。

7、将三个.jar文件复制到tomcat的/lib目录中

写一个简单的用来测试连接SQL Server 2000的JSP代码

  <%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html;charset=gb2312" %>
  <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="admin";
   Connection conn= DriverManager.getConnection(url,user,password);
   Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   String sql="select job_id,job_desc from jobs";
   ResultSet rs=stmt.executeQuery(sql);
   while(rs.next()) { %>
    您的第一个字段内容为:<%=rs.getString(1)%><br>
    您的第二个字段内容为:<%=rs.getString(2)%><br>
  <% } %>
  <% out.print("数据库操作成功,恭喜你"); %>
  <% rs.close();
   stmt.close();
   conn.close();
  %>
  </body>
  </html>

  将上面的JSP代码保存为sql_test.jsp,放在/Root目录下。

  在地址中输入:http://localhost:8080/sql_test.jsp,如果全部配置成功的话,将显示如下:

  您的第一个字段内容为:1
  您的第二个字段内容为:New Hire - Job not specified
  您的第一个字段内容为:2
  您的第二个字段内容为:Chief Executive Officer
  您的第一个字段内容为:3
  您的第二个字段内容为:Business Operations Manager
  您的第一个字段内容为:4
  您的第二个字段内容为:Chief Financial Officier
  您的第一个字段内容为:5
  您的第二个字段内容为:Publisher
  您的第一个字段内容为:6
  您的第二个字段内容为:Managing Editor
  您的第一个字段内容为:7
  您的第二个字段内容为:Marketing Manager
  您的第一个字段内容为:8
  您的第二个字段内容为:Public Relations Manager
  您的第一个字段内容为:9
  您的第二个字段内容为:Acquisitions Manager
  您的第一个字段内容为:10
  您的第二个字段内容为:Productions Manager
  您的第一个字段内容为:11
  您的第二个字段内容为:Operations Manager
  您的第一个字段内容为:12
  您的第二个字段内容为:Editor
  您的第一个字段内容为:13
  您的第二个字段内容为:Sales Representative
  您的第一个字段内容为:14
  您的第二个字段内容为:Designer
  数据库操作成功,恭喜你

 

转载于:https://my.oschina.net/durong/blog/84226

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值