Click here to Skip to main content
15,887,676 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
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;


/**
 * Servlet implementation class AddFileServlet
 */
public class AddFileServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public AddFileServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see Servlet#getServletConfig()
	 */


	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	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 {
            // Apache Commons-Fileupload library classes
            DiskFileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload sfu  = new ServletFileUpload(factory);

            if (! ServletFileUpload.isMultipartContent(request)) {
                System.out.println("sorry. No file uploaded");
                return;
            }

            // parse request
            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();

            // get uploaded file
            FileItem file = (FileItem) items.get(2);
                        
            // Connect to Oracle
            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);
            // size must be converted to int otherwise it results in error
            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
Posted
Updated 10-Apr-14 11:52am
v2
Comments
Shubhashish_Mandal 11-Apr-14 4:21am    
check the server console to get the stacktrace.

1 solution

Have you put your src folder in the WEB-INF directory ?

If you have then this is the problem. You should have src in WEB-INF/classes.

/Darren
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900