I have Jsp file in WEBCONTENT folder. My Jsp file name is FileUpload.jsp and code is
<form id="form1" action="AddFile" method="post">
<table>
<tr>
<td>Enter Document Id :</td>
<td><input type="text" name="id"/></td>
</tr>
<tr>
<td>Enter Document Name :</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>Upload File </td>
<td><input type="file" name="doc" />
</tr>
</table>
<p/>
<input type="submit" value="Upload File to database"/>
</form>
And my servlet class in src->controller with name AddFileServelet.java. Servlet class code is
package controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class AddFileServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public AddFileServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
System.out.println("Hai");
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(factory);
if (! ServletFileUpload.isMultipartContent(request)) {
System.out.println("sorry. No file uploaded");
return;
}
List items = sfu.parseRequest(request);
FileItem docid = (FileItem) items.get(0);
String documentid = docid.getString();
FileItem docName = (FileItem) items.get(1);
String documentName = docName.getString();
FileItem file = (FileItem) items.get(2);
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("driver loaded");
Connection con =DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:xe","system","system");
con.setAutoCommit(false);
System.out.println("connected");
PreparedStatement ps = con.prepareStatement("insert into Uploadedfiles values(?,?,?)");
ps.setString(1, documentid);
ps.setString(2, documentName);
ps.setBinaryStream(3, file.getInputStream(), (int) file.getSize());
ps.executeUpdate();
con.commit();
con.close();
out.println("File Added Successfully");
}
catch(Exception ex) {
out.println( "Error --> " + ex.getMessage());
}
}
}
And My Web.xml code is
<pre lang="xml"><servlet>
<description></description>
<display-name>AddFile</display-name>
<servlet-name>AddFile</servlet-name>
<servlet-class>controller.AddFileServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddFile</servlet-name>
<url-pattern>/AddFile</url-pattern>
</servlet-mapping></pre>
Now when i run my application after click on submit button iam getting below error
HTTP Status 500 - Error instantiating servlet class controller.AddFileServlet
So please help
Thanks in advance