当我在服务器上运行时,我在这段代码中得到ClassNotFoundException
但是作为一个独立的java文件,它运行正常。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import UserJavaBean.UserJavaBean;
public class UserDataBase {
public int insert()
{
int flag =0;
try
{
UserJavaBean user= new UserJavaBean();
//Statement stmt= null;
PreparedStatement ps= null;
//ResultSet rs= null;
Connection conn;
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("Class Loaded");
conn= DriverManager.getConnection("jdbc:oracle:thin:@localhost:****:orcl","hr","hr");
System.out.println("Connection Established");
// stmt= conn.createStatement();
int emp_id= user.getId();
String emp_name=user.getName();
String emp_des=user.getDesignation();
ps = conn.prepareStatement("insert into nanda values(?,?,?)" );
ps.setString(1,emp_name);
ps.setInt(2,emp_id);
ps.setString(3,emp_des);
ps.executeUpdate();
flag=1;
}
catch(Exception e)
{
e.printStackTrace();
flag=0;
}
System.out.println("flagvalue"+flag);
return flag;
}
}
答案 0 :(得分:0)
您尚未提供exception stacktrace
。但我认为你应该在类路径和lib文件夹中提供oracle.jdbc.driver.OracleDriver
的相应jar文件。您可能忘记在项目的lib文件夹中提供jar文件。由于在独立运行期间没有收到任何错误,因此您在类路径中提供了jar文件,并且它正在获取类路径jar文件。但是当您部署Web应用程序时,您必须在lib文件夹中提供相同的jar文件。因此,在部署之后,它将从lib文件夹中获取jar文件。
简而言之,在部署之后,类路径jar文件不适用于Web应用程序。
我认为这可以解决您的问题。试试吧,让我知道。