Reputation: 19
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?
Upvotes: 0
Views: 128
Reputation: 1727
Can you change the below line
con=DriverManager.getConnection("url","user","pwd");
To,
con=DriverManager.getConnection(url,user,pwd);
Upvotes: 1