Servlet中JDBC连接数据库的问题
看下面的代码:
import java.util.*;
import java.sql.*;
import java.io.*;
import oracle.jdbc.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class AddMyUsers extends HttpServlet {
protected String m_userid;
protected String m_userfee;
protected String m_username;
protected String m_useraddress;
protected String m_st;
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
String[] sName = request.getParameterValues("UserName");
String[] sAddr = request.getParameterValues("UserAddr");
String[] sID = request.getParameterValues("UserID");
String[] sFee = request.getParameterValues("UserFee");
m_userid = sID[0];
m_userfee = sFee[0];
m_username = sName[0];
m_useraddress = sAddr[0];
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
String title = "helloworld.title";
out.println("<title>" + title + "</title>");
out.println("</head>");
out.println("<body>");
try{
if (AddUser()==0){
out.println("<p>User add success!</p>");
out.println("<p>UserName : "+ sName[0] +"</p>");
out.println("<p>"+ sAddr[0] +"</p>");
out.println("<p>"+ sID[0] +"</p>");
out.println("<p>"+ sFee[0] +"</p>");
}
else
out.println("<p>"+ m_st +"</p>");
}
catch(Exception e)
{
}
out.println("</body>");
out.println("</html>");
}
Private int AddUser()
throws SQLException {
String s_step = "";
try
{
Integer nowUser = new Integer(m_userid);
if (nowUser.intValue() <= 0)
{
m_st = "UserID error. must";
return -1;
}
if (m_username == "")
{
m_st = "User name cant't be EMPTY!";
return -1;
}
Float f_Fee = new Float(0);
s_step += " step01";
Class.forName("oracle.jdbc.driver.OracleDriver");
s_step += " step1";
Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@172.18.8.4:1521:ORCL", "scott","tiger");
s_step += " step2";
Statement stmt = conn.createStatement ();
s_step += " step3";
// 调用库中名称为pro_add_user的存储过程
CallableStatement procnone = conn.prepareCall ("begin pro_add_user(?,?,?,?); end;");
s_step += " step4";
//加入参数
procnone.setInt (1, nowUser.intValue());
procnone.setString (2, m_username);
procnone.setString (3, m_useraddress);
procnone.setFloat (4,f_Fee.floatValue());
procnone.execute ();
s_step += " step5";
procnone.close();
m_st = "You have add a user name: "+m_username;
return 0;
}
catch(Exception e)
{
m_st = "Database connection error!" + s_step;
return -1;
}
}
}
最后页面输出是:Database connection error! step01
就是说执行到 Class.forName("oracle.jdbc.driver.OracleDriver"); 出错。