下面是我的代码,请问是什么原因连接不上数据库,我想问一下是不是数据库存放的位子有关?
请知道的速回!
<%@ page contentType="text/html;charset=gb2312"%>
<%-- 导入java.sql包,表示要使用数据库操作 --%>
<%@ page import="java.sql.*"%>
<html>
<head>
    <title>登陆</title>
</head>
<body>
<center>
    <h1>登陆范例——用户名及密码固定</h1>
    <hr>
    <br>
    <br>
    <%
        // 接收请求的内容
        String name = request.getParameter("uname") ;
        String password = request.getParameter("upassword") ;        // 定义变量,如果用户是合法用户,则将此标记变为true
        boolean flag = false ;
    %>
    <%
        // 定义数据库操作的常量、对象
        // 数据库驱动程序
        final String DBDRIVER    = "com.mysql.jdbc.Driver" ;
        // 数据库连接地址mldn?person
        final String DBURL        = "jdbc:mysql://localhost:3306/mldn" ;
        // 数据库用户名
        final String DBUSER        = "root" ;
        // 数据库连接密码
        final String DBPASSWORD    = "root" ;
        // 声明一个数据库连接对象
        Connection conn            = null ;
        // 声明一个数据库操作对象
        PreparedStatement pstmt    = null ;
        // 声明一个结果集对象
        ResultSet rs            = null ;
        // 声明一个SQL变量,用于保存SQL语句
        String sql = null ; 
    %>
    <%
        // 进行数据库操作
        try
        {   
            // 编写SQL语句
            sql = "SELECT name FROM person WHERE id=? and password=?" ;
            // 加载驱动程序
            Class.forName(DBDRIVER).newInstance();  
            // 连接数据库
            conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
            // 实例化数据库操作对象
            pstmt = conn.prepareStatement(sql) ;
            // 设置pstmt的内容
            pstmt.setString(1,name) ;
            pstmt.setString(2,password) ;
            // 查询记录
            rs = pstmt.executeQuery() ;
            // 判断是否有记录
            if(rs.next())
            {
                // 如果有记录,则执行此段代码
                // 用户是合法的,可以登陆
                flag = true ;
            }
            // 依次关闭
            rs.close() ;
            pstmt.close() ;
            conn.close() ;
        }
        catch(Exception e)
        {}
    %>
    <%
        // 判断用户名及密码
        if(flag)        
        {
            // 合法用户
    %>
            <jsp:forward page="login_success.jsp"/>
    <%
        }
        else
        {
            // 非法用户
    %>
             <jsp:forward page="login_failure.jsp"/>
    <%
        }
    %>
</center>
</body>
</html>tomcat 6.0的
mysql是5.0的驱动程序(mysql-connector-java-5.0.8-bin.jar)放在了lib下,并且还设置了classpath到mysql-connector-java-5.0.8-bin.jar这里了
但是就是不知道是怎么搞  还连接不上?
请生长点的回答一下啊!

解决方案 »

  1.   

    catch(Exception e) 
            {}   
    就是数据库连接不上吗
    我在这个catch里方腊个测试语句
    就打印出来了
      

  2.   

    catch(Exception e) 
            {}
    你在里面写上e.printStackTrace();
    然后把错误信息copy上来
      

  3.   

    也没什么错误    我mysql服务我启动过了  还不行
    就直接跳到了  这里 <jsp:forward page="login_failure.jsp"/>  
    估计还是连不上数据库的原因,   
      

  4.   

    我的天啊 
    终于成功了,不好意思是我写错了一个字段是我mysql数据库是name
    而我写成了id
    还是 很感谢大家   那分数就送给随便送了!