| Author |
Uploading files using servlet
|
Renee de Castro
Greenhorn
Joined: Mar 12, 2005
Posts: 4
|
|
Hi everyone! I am trying to upload file(s) by using java servlet. I am using Tomcat 5.5 and Jason Hunter's MultiPartRequest class. I have also created a simple HTML that invokes the servlet. My problem is whenever i test the program i always get an error. here is a snippet of the code that im using.. import java.util.Enumeration; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import com.oreilly.servlet.MultipartRequest; import com.oreilly.servlet.multipart.DefaultFileRenamePolicy; public class UploadFile extends HttpServlet { private String dirName; public void init(ServletConfig config) throws ServletException { super.init(config); // read the uploadDir from the servlet parameters dirName = config.getInitParameter("uploadDir"); if (dirName == null) { throw new ServletException("Please supply uploadDir parameter"); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); response.setContentType("text/plain"); <other part of the code here> and i have this error message: exception javax.servlet.ServletException: Cannot allocate servlet instance for path /servlet/test.UploadFile org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:388) org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:169) javax.servlet.http.HttpServlet.service(HttpServlet.java:709) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) root cause java.lang.NoClassDefFoundError: test/UploadFile (wrong name: UploadFile) java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClass(Unknown Source) java.security.SecureClassLoader.defineClass(Unknown Source) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1629) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:850) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1299) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181) org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:369) org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:169) javax.servlet.http.HttpServlet.service(HttpServlet.java:709) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) I have already changed my classpath to include cos.jar. But still it doesnt work. So, what i did was put a copy of the jar file into all possible directories..i have put it in TOMCAT\...\web-inf\lib and C:\Program Files\Java\jdk1.5.0_01\bin directories. Aside from this i have already compiled the UploadFile servlet so i already have the UploadFile class located in TOMCAT\..\web-inf\classes\test directory.. I have the HTML file in the root directory so i am calling the UploadFile class using this code.. <FORM ACTION="../servlet/test.UploadFile" METHOD=POST ENCTYPE="multipart/form-data"> What is your name? <INPUT TYPE=TEXT NAME=submitter> <BR> Which file to upload? <INPUT TYPE=FILE NAME=file1> <BR> <INPUT TYPE=SUBMIT> </FORM> I've been trying to figure this out for days now and i'm surely getting a bit desperate as days pass by. I hope somebody can shed some light into this problem.. thanks a lot!
|
 |
Annie Smith
Ranch Hand
Joined: Mar 05, 2005
Posts: 172
|
|
Your class should have a statement on the first line. Then the class should be under WEB-INF/classes/test. That should work!
|
Cheers!<br /><b>Annie</b>
|
 |
Renee de Castro
Greenhorn
Joined: Mar 12, 2005
Posts: 4
|
|
Hi Annie! You're right! I feel so stupid right now! hehehe Thanks for the help! It really means a lot!
|
 |
 |
|
|
subject: Uploading files using servlet
|
|
|