把驱动放在tomcat的lib下试试

解决方案 »

  1.   

    package com.lyq;import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.*;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;public class RegServlet extends HttpServlet {  private static final long serialVersionUID = 1789481329876401944L;
        
      //数据库连接Connection
      private Connection conn;
        
    public void init() throws ServletException {
    super.init();
    try
    {
    //加载驱动
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    //数据库连接
    String url = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=Save";
    //获取数据库连接
    conn = DriverManager.getConnection(url,"sa","123");
    }
    catch(Exception ex)
    {
    ex.printStackTrace();
    }
    }//doPost 方法处理注册请求
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {response.setContentType("text/html");
    request.setCharacterEncoding("GBK");
    response.setCharacterEncoding("GBK");
    //获取表单中属性值
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    String sex = request.getParameter("sex");
    String question = request.getParameter("question");
    String answer = request.getParameter("answer");
    String email = request.getParameter("email");
    //判断数据库是否连接成功
    if(conn!=null)
    {
    try
    {
    // 插入注册信息的SQL语句(使用?占位符)
    String sqlstr="insert into client (name,pwd,sex,question,answer,email)"
    + "values(?,?,?,?,?,?)";
    //创建PreParedStatement对象
    PreparedStatement ps=conn.prepareStatement(sqlstr);
    // 对SQL语句中的参数动态赋值
    ps.setString(1,username);
    ps.setString(2,password);
    ps.setString(3,sex);
    ps.setString(4,question);
    ps.setString(5,answer);
    ps.setString(6,email);
    // 执行更新操作
    ps.executeUpdate();
    // 获取PrintWriter对象
    PrintWriter out = response.getWriter();
    // 输出注册结果信息
    out.print("<h1 align='center'>");
    out.print(username+"注册成功!");
    out.print("</h1>");
    out.flush();
    out.close();
    }
    catch(Exception ex)
    {
    ex.printStackTrace();
    }
    }
    else
    {
    // 发送数据库连接错误提示信息
    response.sendError(500,"数据库连接错误!");
    }
    }
    }我是学.net的,刚自学java,很多不懂,后台这样写的
      

  2.   

    将驱动名称com.microsoft.jdbc.sqlserver.SQLServerDriver改成com.microsoft.sqlserver.jdbc.SQLServerDriver试试。
      

  3.   

    1、纯java连接sqlserver2000需要装一个补丁,才能使用tcp/ip
    2、使用的sqljdbc驱动使用老的(3个jar文件)还是一个jar文件(基于2005的驱动,2000也可以使用)
       如是一个驱动:com.microsoft.sqlserver.jdbc.SQLServerDriver
               url : jdbc:sqlserver://localhost:1433;database=dbname
       如是3个文件驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver
                url:  jdbc:microsoft:sqlserver://.......