java.lang.ClassNotFoundException: driver in Servlet while connecting oracle database

Ganesh sen :

I am working on servlet. While connecting Oracle db through web.xml file its throwing below exception.

java.lang.ClassNotFoundException: driver at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.harshidhee.servlet.DBCont.doGet(DBCont.java:55) at com.harshidhee.servlet.DBCont.doPost(DBCont.java:128) at

This is my code

public class DBCont extends HttpServlet{

@Override
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    PrintWriter pw=null;
    Connection con=null;
    Statement st=null;
    ResultSet rs=null;
    ServletConfig cg=null;
    String driver=null,url=null,user=null,pwd=null;
    int no=0;
    pw=res.getWriter();
    res.setContentType("text/html");
    no=Integer.parseInt(req.getParameter("eno"));
    cg=getServletConfig();
    driver=cg.getInitParameter("dbdriver");
    url=cg.getInitParameter("dburl");
    user=cg.getInitParameter("dbuser");
    pwd=cg.getInitParameter("dbpwd");

    Class.forName("driver");
    //establish the connection
    con=DriverManager.getConnection("url","user","pwd");
    //create the statement
    if(con!=null)
    st=con.createStatement();
    //set the resulttset
    if(st!=null)
    rs=st.executeQuery("SELECT EMPNO,EMPNAME,EMPJOB,EMPSAL,EMPDEP FROM EMPLOYEE WHERE EMPNO="+no);
    if(rs.next()) {
        pw.println(" Employee Id::"+rs.getInt(1));
        pw.println("<br> Employee Name::"+rs.getString(2));
        pw.println("<br> Employee Job::"+rs.getString(3));
        pw.println("<br> Employee Salary::"+rs.getDouble(4));
        pw.println("<br> Employee Dep::"+rs.getString(5));
    }
    else { 
        pw.println("Employee Id not found");
        throw new IllegalArgumentException("Employee Id not found");
    }                   
}

This is my web.xml file code

  <servlet>
    <servlet-name>db</servlet-name>
    <servlet-class>com.harshidhee.servlet.DBCont</servlet-class>
    <init-param>
        <param-name>dbdriver</param-name>
        <param-value>oracle.jdbc.driver.OracleDriver</param-value>
    </init-param>
    <init-param>
        <param-name>dburl</param-name>
        <param-value>jdbc:oracle:thin:@localhost:1521:xe</param-value>
    </init-param>
    <init-param>
        <param-name>dbuser</param-name>
        <param-value>System</param-value>
    </init-param>
    <init-param>
        <param-name>dbpwd</param-name>
        <param-value>System</param-value>
    </init-param> 
  </servlet>
  <servlet-mapping>
        <servlet-name>db</servlet-name>
        <url-pattern>/dburl</url-pattern>
  </servlet-mapping>

When I hard code the values of properties of db, its working fine. How can I solve this issue?

Anil Nivargi :

Can you change the below line

con=DriverManager.getConnection("url","user","pwd");

To,

con=DriverManager.getConnection(url,user,pwd);

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=380048&siteId=1