做了一个登录页面,以一个check.jsp来检查用户名和密码,成功则跳到success.jsp,失败则跳到faliure.jsp,建表没有问题。但不知道为什么总是跳到失败的页面。一个朋友给我测试代码检查了一下,说是数据库加载失败,想问问真是这样吗?如果不是那又是什么原因登录不上去?
测试代码:
package test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class cishi {
   private static Connection con;
/**
 * @param args
 */public Connection getDBconnServer2005(String databasename,String user,String pwd){
String url="jdbc:oracle:thin:@localhost:1521:LYGJF";  
try {
   Class.forName("oracle.jdbc.driver.OracleDriver");   
   con=DriverManager.getConnection(url,"lygjf","3224805");
} catch (ClassNotFoundException e) {

System.out.println("数据库驱动加载失败!!!");
} catch (SQLException e) {
System.out.println("数据库连接失败!!!");
}
   return con;
   }
 public Connection getDB(){
 
 return con;
 }
 boolean flag = false ;
 public boolean test(String userid,String password){
 String sql = "SELECT userid,name FROM tuser WHERE userid=? AND password=?" ;
try {
PreparedStatement pstmt = con.prepareStatement(sql) ;
pstmt.setString(1,userid) ;
pstmt.setString(2,password) ;
ResultSet rs = pstmt.executeQuery() ;
if(rs.next()){
// 如果有内容,则此处执行,表示查询出来,合法用户
flag = true ;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
 return flag;
 }
public static void main(String[] args) {
// TODO Auto-generated method stub
//如果输出为空 说明数据库没有打开
System.out.println(new cishi().getDB());

System.out.println(new cishi().test("用户名", "密码"));
}}

解决方案 »

  1.   

    将oracle的jdbc驱动引入你的项目试试
    在%ORACLE_HOME%\jdbc\lib\classes12.jar
      

  2.   

    你好。。能详细说明一下吗?或者加我QQ,87151554,说明是csdn论坛。我刚接触oracle,不太会操作
      

  3.   

    把%ORACLE_HOME%\jdbc\lib\classes12.jar拷贝一份,放到你web module的WEB-INF\lib子目录下边。
      

  4.   

    刚才把测试代码放到项目中运行,得到的结果是oracle.jdbc.driver.OracleConnection@1617189
    false请问这是什么意思?驱动加载了吗?false说明了什么问题?
      

  5.   


    显然加载了,打出来的是连接对象的地址(虚拟机地址)
    false说明查询没有结果。
      

  6.   

    返回false啊,当然登录不了,看看tuser表里头有没有相应的记录啊。
      

  7.   

    你的数据库连接应该没问题,
    你将getDBconnServer2005改为 static 函数

    调用getDB()前先调用System.out.println(new cishi().getDBconnServer2005());
    试试,