Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

uploading a file using jsp and com.oreilly.servlet lib package

843838Dec 6 2005 — edited Dec 6 2005
Sorry to bother you but I need your help folks
I am developing an application to pick up files from a database and sent to a specified location on a different system.
I am presently trying to run this code,I have placed this lib package from oreilly which is supposed to encapsulate the usage of file uploads,which is a jar file called cos.jar into C:\Program Files\Java\jdk1.5.0_03\jre\lib\ext folder .I have a jsp page that calls the bean which does the upload and implement the classes in the oreilly package.I am using tomcat 5

[b]the jsp page that acts as the user interface

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Please Choose The File</title>
</head>
<body bgcolor="#ffffff">
<table border="0"><tr>

<form action="Upload.jsp" method="post"
enctype="multipart/form-data">

<td valign="top"><strong>Please choose your document:</strong><br></td>

<td> <input type="file" name="file1">

<br><br>
</td></tr>

<tr><td><input type="submit" value="Upload File"></td></tr>
</form>

</table>
</body>
</html>

this is the jsp page that calls the bean

<jsp:useBean id="uploader" class="com.UploadBean" />

<jsp:setProperty name="uploader" property="dir" value="<%=application.getInitParameter(\"save-dir\")%>" />

<jsp:setProperty name="uploader" property= "req" value="${pageContext.request}" />
<html>
<head><title>file uploads</title></head>
<body>
<h2>Here is information about the uploaded files</h2>

<jsp:getProperty name="uploader" property="uploadedFiles" />

</body>
</html>

[b]this is the bean class

package com;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.ServletRequest;
import com.oreilly.servlet.MultipartRequest;
import com.oreilly.servlet.multipart.DefaultFileRenamePolicy;
import javax.servlet.*;

public class UploadBean {

private String webTempPath;
private HttpServletRequest req;
private String dir;
// private ServletRequest request;

public UploadBean( ) {}

public void setDir(String dirName) {

if (dirName == null || dirName.equals(""))
throw new IllegalArgumentException("invalid value passed to " + getClass( ).getName( )+".setDir");

//webTempPath = dirName;
dir = dirName;

}
/* public String getDir()
{
return webTempPath;
} */

public void setReq(ServletRequest request) {

if (request != null && request instanceof HttpServletRequest)
{

req = (HttpServletRequest) request;

} else {

throw new IllegalArgumentException("Invalid value passed to " + getClass( ).getName( )+".setReq");
}

}

public String getUploadedFiles( ) throws java.io.IOException{

//file limit size of 5 MB
MultipartRequest mpr = new MultipartRequest(req,dir,5 * 1024 * 1024,new DefaultFileRenamePolicy( ));

Enumeration enume = mpr.getFileNames( );

StringBuffer buff = new StringBuffer("");

for (int i = 1; enume.hasMoreElements( );i++){

buff.append("The name of uploaded file ").append(i).append(" is: ").append(mpr.getFilesystemName((String)enume.nextElement( ))).append("<br><br>");
}//for

//return the String
return buff.toString( );

} // getUploadedFiles

}

On running the code I find this error messages

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: javax/servlet/ServletRequest
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.jsp.Upload_jsp._jspService(org.apache.jsp.jsp.Upload_jsp:73)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NoClassDefFoundError: javax/servlet/ServletRequest
com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:222)
com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:151)
com.UploadBean.getUploadedFiles(UploadBean.java:49)
org.apache.jsp.jsp.Upload_jsp._jspService(org.apache.jsp.jsp.Upload_jsp:63)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.9

tanks
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 3 2006
Added on Dec 6 2005
1 comment
196 views