Com.oreilly.servlet.multipart writeTo() question

I am trying to write a upload servlet with com.oreilly.servlet.multipart.
The problem I am having is specifiying the name of file on the server's side.
When I looked at the documentation for FilePart.writeTo() ...
com.oreilly.servlet.multipart
Class FilePart
java.lang.Object
|
--com.oreilly.servlet.multipart.Part
|
--com.oreilly.servlet.multipart.FilePart
writeTo
public long writeTo(java.io.File fileOrDirectory) throws java.io.IOException
Write this file part to a file or directory. If the user supplied a file, we write it to that file, and if they supplied a directory, we write it to that directory with the filename that accompanied it. If this part doesn't contain a file this method does nothing.
Returns: number of bytes written
Throws: java.io.IOException - if an input or output exception has occurred.
... I figured all I had to do was supply a file to writeTo(), so that writeTo() would write to that file.
So I modified the example servlet code (DemoParserUploadServlet.java) to do this ...
code:
     String outFileName = dirName + "/" + xyz_UpLoadUser + "/" + name + "_" + getTS() + ".dat";
     file = new File( outFileName );
     size = filePart.writeTo(file);
... and I get the error ...
javax.servlet.ServletException: Supplied uploadDir ./TEST001/FILE_1_20040220085207.dat is invalid
I took a look at DemoRequestUploadServlet.java but that only shows me would to write files to the /tmp directory not how to change the file's name from what the user supplied in the form.
Please help!

Thanks for your reply :)
I just resorted to doing something like this ...
public void init ( ...
dir = new File ( dirName );
public void doPost ( ...
String oldFileName = filePart.getFileName();
String newFileName = dirName + "/" + xyz_UpLoadUser + "/" + name + "_" + getTS() + ".dat";
size = filePart.writeTo(dir);
File oldFile = new File( oldFileName );
File newFile = new File( newFileName );
boolean rc = oldFile.renameTo( newFileName );

Similar Messages

  • Uploading a file using jsp and com.oreilly.servlet lib package

    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

    Hi,
    Looks like you are missing a file from the classpath. Make sure servlet.jar is available in your classpath. Ordinarily files in <tomcat_home>/lib directory should be added automatically. You need to check why it hasn't been added in your case. A good place to start would be the bat files in the bin directory viz startup.bat, catalina.bat etc.
    cheers,
    vidyut

  • Change upload file name with com.oreilly.servlet.MultipartRequest to handle the file upload

    1. when use com.oreilly.servlet.MultipartRequest to handle the file upload, can I change the upload file name .
    2. how com.oreilly.servlet.MultipartReques handle file upload? do it change to byte ?
    what  different?  if I use the following method?
       File uploadedFile = (File) mp.getFile("filename");
                   FileOutputStream fos = new FileOutputStream(filename);
                    byte[] uploadedFileBuf = new byte[(int) uploadedFile.length()];
                   fos.write(data);
                 fos.close();

    My questions are
    1) when use oreilly package to do file upload , it looks like i line of code is enough to store the upload file in the
    file direction.
    MultipartRequest multi =
            new MultipartRequest(request, dirName, 10*1024*1024); // 10MB
    why some example still use FileOutputStream?
    outs = new FileOutputStream(UPLOADDIR+fileName); 
        filePart.writeTo(outs); 
       outs.flush(); 
      outs.close();
    2) can I rename the file name when I use oreilly package?

  • Error in this statement [import="com.oreilly.servlet.MultipartRequest"]

    hai,
    iam designing jsp page where i use thi class i.e.,
    import="com.oreilly.servlet.MultipartRequest"
    for this iam using j2ee server i istalled jdk and j2ee.
    when i run the following code iam getting error " unabe to compile class import="com.oreilly.servlet.MultipartRequest" "
    what else should i do
    please help me anyone
    code is
    <%@ page language="java" %>
    <%@ page import="java.text.*" %>
    <%@ page import="java.io.*" %>
    <%@ page import="javax.servlet.http.HttpSession" %>
    <%@ page import="java.util.*" %>
    <%@ page import="javax.servlet.*" %>
    <%@ page import="java.sql.*" %>
    <%@ page import="java.net.*" %>
    <%@ page import="com.oreilly.servlet.MultipartRequest" %>
    <%@ page import="com.oreilly.servlet.ServletUtils" %>
    <%!
    String uri="";
    Vector files=new Vector();
    String pathf="";
    %>
    <%!
    public static String FORM_ACTION = "method";
    public static String ACTION_ATTACHFORM = "Attachments";
    public static String ACTION_ATTACHFILE = "AttachtoMessage";
    public static String ACTION_FILEREMOVE = "fileRemove";
    public static String ACTION_SEND = "Send";
    %>
    <%
    pathf=DNet.getDataFilesPath()+"/ActivityManagementNew";
    pathf=pathf+"/";
    uri=request.getRequestURI();
    HttpSession ss=request.getSession(true);
    String persno=(String)ss.getAttribute("persno");
    String method = request.getParameter(FORM_ACTION);
    //System.out.println("method"+method);
    if (method ==null) {
         else if((method!=null) && (method.equals(ACTION_ATTACHFORM)))
         attachForm(request, out, files,0);
         else if((method!=null) && (method.equals(ACTION_ATTACHFILE)))
         attachFile(request, out);
         else if((method!=null) && (method.equals(ACTION_FILEREMOVE)))
         removeFile(request, out);
    %>
    <%! int inc=0; %>
    <%!
    public void attachForm(HttpServletRequest req,JspWriter out,Vector files,int size)
    throws ServletException, java.io.IOException
    out.println("<html>");
    out.println("<head><LINK href=dmail.css rel=stylesheet>");
    out.println("<title> Attach File </title>");
    out.println("<Script Language=JavaScript>");
    out.println("list=new Array();");
    out.println("function putattach(pos,name) {");
    out.println(" list[pos]=name; }");
    out.println("function listattach() {");
    out.println("if((window.opener.document.composeform.list)!=null)");
    out.println("window.opener.document.composeform.list.value=list;");
    out.println("window.close();}");
    out.println("</script>");
    out.println("</head>");
    out.println("<body bgcolor='#EEEEEE' text='#494949' link='#9966CC' vlink='#009999' alink='#CC0066' ><center>");
    out.println("<table>");
    out.println("<TR align=middle bgColor=#eeeecc><TD colSpan=7 align=center><FONT class=f> <B>Attachments ");
    out.println("</B> </FONT></TD></TR>");
    out.println("</table>");
    out.println("<form action="+uri+"?method="+ACTION_ATTACHFILE+"&size="+size+" ENCTYPE=multipart/form-data method=post>"+
    "<center><table width=400 border=0><tr><td><ol>"+
    "<li><p>Click the <b>Browse</b> button to select the file that"+
         " you want to attach, or type the path to the file in the box below.<br>"+
         "Attach File: <input name=attfile type=file> </p>"+
         " </li><li><p>Click the <b>Attach to Message</b> button.<br>"+
         " The transfer of an attached file may require 30 seconds to up to 10 minutes.<br>"+
         "<center><input type=submit name=method value=\""+ACTION_ATTACHFILE+"\"></center></form></p>"+
         "</li> <li><p>Repeat Steps 1 and 2 to attach additional files. Click"+
         "the <b>Done</b> button to return to your message.</p></li></ol><br>"+
         "<center><Input type=button value=Done onClick=listattach()></center>"+
         "</td></tr></table>"+
         "<form method=post action="+uri+">"+
         "<input type=hidden name=size value="+size+">"+
         "<hr width=400><table width=400 border=0>"+
         "<tr><td><select name=attachlist size=5 multiple>");
         if(files!=null)
         for(int i=0;i<files.size();i++)
         out.println( "<option value="+i+">"+(String)files.get(i)+"</option>");
    out.println("</select>");
         out.println("<Script language=JavaScript>");
         for(int i=0;i<files.size();i++)
         out.println("putattach("+i+", '"+(String)files.get(i)+"')");
         out.println("</script>");
         out.println("</td><td><input type=hidden name=method value="+ACTION_FILEREMOVE+"><input type=submit value=Remove> </td></tr>");
         }else out.println("<option value=-1>-- Message Attachments -- </option></select>");
    out.println("<tr><td><b>Current total ="+size+"K</b></td></tr>"+
    "<tr><td colspan=2>Each file size cannot exceed 20MB. To remove an attachment,"+
    "select the file from the list and click the <b>Remove</b> button. </td>"+
    "</tr> </table></form></center>");
    out.println("</body></html>");
    out.flush();
    // out.close();
    public void attachFile(HttpServletRequest req,JspWriter out)
    throws ServletException, java.io.IOException
    HttpSession session=req.getSession();
    Vector files=(Vector)session.getValue("files");
         int Fsize=0;
         try{
         String user=(String)req.getSession().getValue("PERSONALNO");
         File f=new File(pathf+"/Temp/"+user);
         if(!f.exists())
         f.mkdir();
         MultipartRequest multi =new MultipartRequest(req, pathf+"/Temp/"+user, 20 * 1024 * 1024);
         Enumeration efiles = multi.getFileNames();
         String filename=null;
         Fsize=Integer.parseInt(req.getParameter("size"));
         while (efiles.hasMoreElements())
    String name = (String)efiles.nextElement();
         filename = multi.getFilesystemName(name);
         File ft=new File(pathf+"/Temp/"+(String)req.getSession().getValue("PERSONALNO")+"/"+filename);
         long size=ft.length();
         if(filename!=null)
         if(size<1024)
         Fsize=Fsize+1;
         else
         Fsize=Fsize+java.lang.Math.round((float)size/1024);
    if(files==null)
    files=new Vector(); // to keep track of attached files
         files.add(filename);
    session.putValue("files",files);
         attachForm(req,out,files,Fsize);
    catch(Exception e)
         e.printStackTrace();
    public void removeFile(HttpServletRequest req,JspWriter out)
    throws ServletException, java.io.IOException
    HttpSession session=req.getSession();
    Vector files=(Vector)session.getValue("files");
         int j;
         int FSize=Integer.parseInt(req.getParameter("size"));
         String st[]=req.getParameterValues("attachlist");
         String user=(String)req.getSession().getValue("PERSONALNO");
         if(st!=null)
         for(int i=0;i<st.length;i++)
         j=Integer.parseInt(st);
         File f=new File(pathf+"/Temp/"+user+"/"+(String)files.get(j));
         long s=f.length();
         if(s<1024) s=1;
         else s= java.lang.Math.round((float)s/1024);
         FSize=(int)(FSize-s);
    if(files==null)
    files=new Vector(); // to keep track of attached files
         files.remove(j);
    session.putValue("files",files);
         f.delete();
         if(files.size()==0)
         files=null;
         File f=new File(pathf+"/Temp/"+user);
         f.delete();
         attachForm(req,out,files,FSize);
    %>

    WEB-INF/classes or ClassPath?I meant WEB-INF/lib ... not WEB-INF/classes

  • Odd fail with com.oreilly.servlets on tomcat 4.1

    I've got a page that uses the com.oreilly.servlets package on tomcat 4.1. It is failing at the point where I first create my MultipartRequest but the error stack doesn't make any reference to the com.oreilly.servlets package, it just says:
    root cause
    javax.servlet.ServletException: javax/servlet/ServletRequest
    at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)
    at org.apache.jsp.imageUploader1_jsp._jspService(imageUploader1_jsp.java:102)
    and back through the org.apache.jsp stuff.
    I definitely have the enctype on the form set up correctly and the same code was working fine on another server running tomcat 3.2. I just cannot seem to find any good reason for it.

    Alright, here is the source of a page that will fail on my server (but doesn't seem to have a problem on my development box)
    <%@page contentType="text/html"%>
    <%@page import="org.apache.commons.fileupload.*"%>
    <%
    try
        System.out.println("is it multipart?");
        System.out.println( FileUpload.isMultipartContent(request) );
    catch (Exception e)
        System.out.println("Error caught.<br/>");
        System.out.println(e.getMessage()+"<br>");
        e.printStackTrace();
    %>
    <html>
    <head><title>Test Page</title></head>
    <body>
    <p>Multipart test, see catalina.out for more information.</p>
    </body>
    </html>The error stack, for what it's worth, looks a lot like this:
    exception
    org.apache.jasper.JasperException: javax/servlet/ServletInputStream
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:324)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:395)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:615)
    at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:534)
    root cause
    javax.servlet.ServletException: javax/servlet/ServletInputStream
    at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)
    at org.apache.jsp.imageUploader1_jsp._jspService(imageUploader1_jsp.java:119)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:324)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:395)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:615)
    at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:534)
    Apache Tomcat/4.1.30

  • How to upload more than 100mb in using com.oreilly.servlet package

    hi all,
    I use com.oreilly.servlet package to upload and i use the following code to upload
    MultipartRequest mr = new MultipartRequest(request,"/tmp/saved",0x10000000);My problem is i can't upload more than 25mb, uploads upto 25mb and shows page cannot displayed err in IE,
    Pls help

    In the webserver there is most likely a configuration option for the maximum size that a request may have. So search through the manual of your particular webserver on how to change that.

  • URGENT!! where to put com.oreilly.servlet package??

    hi all,
    i am now using tomcat.
    i put the com.oreilly.servlet classes in the following path:
    c:\jakarta-tomcat-4.0.3\webapps\temp\web-inf\classes\com\oreilly\servlet\..
    and i put my servlet file in the path
    c:\jakarta-tomcat-4.0.3\webapps\temp\web-inf\classes\testing.java
    i have also put the the cos.jar file in
    c:\jakarta-tomcat-4.0.3\webapps\temp\web-inf\lib\cos.jar
    but when i compile testing.java, i gives error for import com.oreilly.servlet.*
    saying can't resolve symbol
    can somebody tell me how can i fix it?
    thx a lot

    hi,
    are you sure you have set the package com.oreilly.servlet in your system's classpath?

  • Com.oreilly.servlet.MultipartRequest from where to download the package

    Hi all
    From where to download this package.
    com.oreilly.servlet.MultipartRequest
    and where to copy it so that I can use this package.
    Vijay

    What does Google tell you? http://www.google.com

  • Com.oreilly.servlet where to get it?

    if someone knows what's the above package is all about, then please tell me where one can download it?

    Have you try the site servlet.com

  • Change file name with oreilly servlet

    I am using oreilly servlet package and I want to change the file name to the file I am uploading, is this possible ?
    How ?
    Thanks.
    here I post the servlet code:
    package com.reducativa.sitio.servlets;
    * DemoParserUploadServlet.java
    * Example servlet to handle file uploads using MultipartParser for
    * decoding the incoming multipart/form-data stream
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import com.oreilly.servlet.multipart.*;
    public class DemoParserUploadServlet extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    response.setContentType("text/plain");
    out.println("Demo Parser Upload Servlet");
    File dir = new File("f:/");
    if (! dir.isDirectory()) {
    throw new ServletException("Supplied uploadDir " + "f:/ " +
    " is invalid");
    try {
    MultipartParser mp = new MultipartParser(request, 10*1024*1024); // 10MB
    Part part;
    while ((part = mp.readNextPart()) != null) {
    String name = part.getName();
    if (part.isParam()) {
    // it's a parameter part
    ParamPart paramPart = (ParamPart) part;
    String value = paramPart.getStringValue();
    out.println("param; name=" + name + ", value=" + value);
    else if (part.isFile()) {
    // it's a file part
    FilePart filePart = (FilePart) part;
    String fileName = filePart.getFileName();
    if (fileName != null) {
    // the part actually contained a file
    long size = filePart.writeTo(dir);
    out.println("file; name=" + name + "; filename=" + fileName +
    ", filePath=" + filePart.getFilePath() +
    ", content type=" + filePart.getContentType() +
    ", size=" + size);
    else {
    // the field did not contain a file
    out.println("file; name=" + name + "; EMPTY");
    out.flush();
    catch (IOException lEx) {
    this.getServletContext().log("error reading or saving file");
    }

    Hi there,
    I am facing the same problem that you have stated in your Feb 26, 2002 10:28 AM message regarding "change file name with oreilly servlet", I would like to change the file name to include a unique identifier upon upload, did you ever find a solution to your problem?
    Thanks!
    Todd
    [email protected]

  • Oreilly.servlet.MultipartRequest Error

    I'm trying to use the oreilly servlet to upload files to my server. I using BEA Weblogic and I'm compiling the servlet via classspath. I use the cos.jar and the servlet.jar to compile my servlet. Everything compiles fine. However, When I try to upload a file, I get this error:
    java.lang.NoClassDefFoundError: com/oreilly/servlet/MultipartRequest
    at com.jspservletcookbook.UploadServlet.doPost(UploadServlet.java:22)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    What I'm I doing wrong. Please help me.

    Put cos.jar into the WEB-INF/lib directory of your web app.
    It needs it at runtime as well as compile time.

  • What do I do if wen I go to download an app it comes up with three security questions .wen I press on the third question it does not respond just turned blue n stays blue n won't let me go any further therefor not lettin me download any apps

    What do I do if wen I go to download an app it comes up with three security questions .wen I press on the third question it does not respond just turned blue n stays blue n won't let me go any further therefor not lettin me download any apps.   Thanks

    I have decided to dedicate this thread to the wonderful errors of Lion OSX. Each time I find a huge problem with Lion I will make note of it here.
    Today I discovered a new treasure of doggie poop in Lion. No Save As......
    I repeat. No Save As. In text editor I couldn't save the file with a new extension. I finally accomplished this oh so majorly difficult task (because we all know how difficult it should be to save a file with a new extension) by pressing duplicate and then saving a copy of the file with a new extension. Yet then I had to delete the first copy and send it to trash. And of course then I have to secure empty trash because if I have to do this the rest of my mac's life I will be taking up a quarter of percentage of space with duplicate files. So this is the real reason they got rid of Save As: so that it would garble up some extra GB on the ole hard disk.
    So about 20 minutes of my time were wasted while doing my homework and studying for an exam because I had to look up "how to save a file with a new extension in  mac Lion" and then wasted time sitting here and ranting on this forum until someone over at Apple wakes up from their OSX-coma.
    are you freaking kidding me Apple? I mean REALLY?!!!! who the heck designed this?!!! I want to know. I want his or her name and I want to sit down with them and have a long chat. and then I'd probably splash cold water on their face to wake them up.
    I am starting to believe that Apple is Satan.

  • I deleted something i should'nt have, when i power on my mac book air, all that comes up is a blinking question mark, what do i do?

    i deleted something i should'nt have, when i power on my mac book air, all that comes up is a blinking question mark, what do i do?

    Reinstall from Recovery Partition, hold down Command + R at power on

  • Servlet controlled download question

    I've written a servlet that will extract my file from the database and prompt the client browser with a "Save As" prompt. So far so good.
    The problem I'm having is that for the file name, the browser is using the name of the servlet (say Example.do" as the file name.
    So the box shows the following
    Filename : Example
    File Type:
    From: www.examplehost.com
    So my question is how to I get the correct file name to show up, and get the file type field populated. I'm trying to get this to work for the IE 5 browsers.
    The headers are being set as follows:
    response.setContentType("application/x-download; name=\"" + fileName + "\"");
    response.setHeader("Content-Disposition","attachment; filename=" + fileName + ";");
    Any help would be appreciated. Thanks
    Sean

    That problem is due to the fact that the browser sets the name of the file equal to the request.
    There are two solutions i can imagine :
    - Place the file in a public place (Where you have your jsp and such) :
    Cons : Anyone that knows the file is there may get it.
    A big security error, specially if the file is confidencial.
    Pros : The file name will be the correct one.
    - Use an applet that connects to the servlet :
    Cons : It may take too long to load
    Many ppl don't like applets running on they're machine
    pros : You may create you own progress bar, with percentage and everything;
    You control the time it takes and the speed you wish it to use;
    The best of all, You may copy the file into a temp dir and then transfer it to the dest dir with the name you wish or the user wishes.
    It's up to you to decide,
    Daniel Campelo

  • Servlet + JSP + SQL question

    I have a servlet that is executing a few queries against a database. I am fowarding the results to a jsp page to display the results. I have been able to do this. My problem is when my query selects more than one field I am unsure on how to read that into an array or something like that. All the results I have done so far have had multiple results but only from one field in the database. Here is my serlvet and jsp code. If some one could tell me how to read multiple field into an array and display them on a jsp page that would be great. Thank you
    Servlet
    package nnet;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import java.security.Principal;
    import java.sql.*;
    import java.sql.DriverManager;
    * <p>Title: NNET</p>
    * <p>Description: Northland Intranet</p>
    * <p>Copyright: Copyright (c) 2004</p>
    * <p>Company: NMI</p>
    * @author not attributable
    * @version 1.0
    public final class home
    extends HttpServlet {
    //Initialize global variables
    //Initialize queries
    private static final String USERQUERY =
    "SELECT public.tblindividual.firstname as firstname " +
    "FROM public.tblloginname " +
    "INNER JOIN public.tblindividual ON (public.tblloginname.indlink = public.tblindividual.indid) " +
    "WHERE LOWER(public.tblloginname.loginname) = LOWER(?)";
    private static final String MAINLINKQUERY =
    "SELECT public.nnetsection.name " +
    "FROM public.nnetsection " +
    "WHERE public.nnetsection.posted = 'true'";
    private static final String ANOUNCEMENTQUERY =
    "SELECT public.nnetanouncement.anouncement, to_char(nnetanouncement.postdate,'MonthDD, YY') as postdate " +
    "FROM public.nnetanouncement " +
    "ORDER BY public.nnetanouncement.postdate DESC";
    public void init() throws ServletException {
    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
    ServletException, IOException {
    Connection con = null;
    PreparedStatement stmt = null;
    //Initialize Resultset objects
    ResultSet namers = null;
    ResultSet mainlinkrs = null;
    ResultSet anouncementrs = null;
    ResultSet anouncementdaters = null;
    //Initialize Array Lists
    ArrayList mainlinkresults = new ArrayList();
    ArrayList anouncementresults = new ArrayList();
    String firstnameresult = null;
    Principal user = request.getUserPrincipal();
    String username = user.getName();
    Properties props = new Properties();
    InputStream in = getServletContext().getResourceAsStream(
    "/WEB-INF/sql.properties");
    props.load(in);
    in.close();
    //get Users login name to pass on
    try {
    Class.forName(props.getProperty("connection.driver"));
    con = DriverManager.getConnection(props.getProperty("connection.url"), props);
    stmt = con.prepareStatement(USERQUERY);
    stmt.setString(1, username);
    namers = stmt.executeQuery();
    while (namers.next()) {
    firstnameresult = namers.getString("firstname");
    //results.add(namers.getString("firstname"))
    catch (SQLException ex1) {
    catch (ClassNotFoundException ex) {
    finally {
    if (stmt != null) {
    try {
    stmt.close();
    catch (SQLException e) {
    e.printStackTrace();
    stmt = null;
    if (con != null) {
    try {
    con.close();
    catch (SQLException e) {
    e.printStackTrace();
    con = null;
    //get the main links to pass on
    try {
    Class.forName(props.getProperty("connection.driver"));
    con = DriverManager.getConnection(props.getProperty("connection.url"), props);
    stmt = con.prepareStatement(MAINLINKQUERY);
    mainlinkrs = stmt.executeQuery();
    while (mainlinkrs.next()) {
    mainlinkresults.add(mainlinkrs.getString("name"))
    catch (SQLException ex1) {
    catch (ClassNotFoundException ex) {
    finally {
    if (stmt != null) {
    try {
    stmt.close();
    catch (SQLException e) {
    e.printStackTrace();
    stmt = null;
    if (con != null) {
    try {
    con.close();
    catch (SQLException e) {
    e.printStackTrace();
    con = null;
    //get the announcements to pass on
    try {
    Class.forName(props.getProperty("connection.driver"));
    con = DriverManager.getConnection(props.getProperty("connection.url"), props);
    stmt = con.prepareStatement(ANOUNCEMENTQUERY);
    anouncementrs = stmt.executeQuery();
    while (anouncementrs.next()) {
    anouncementresults.add(anouncementrs.getString("anouncement"));
    catch (SQLException ex1) {
    catch (ClassNotFoundException ex) {
    finally {
    if (stmt != null) {
    try {
    stmt.close();
    catch (SQLException e) {
    e.printStackTrace();
    stmt = null;
    if (con != null) {
    try {
    con.close();
    catch (SQLException e) {
    e.printStackTrace();
    con = null;
    request.setAttribute("firstname", firstnameresult);
    request.setAttribute("mainlink", mainlinkresults);
    request.setAttribute("anouncement", anouncementresults);
    RequestDispatcher rd =
    request.getRequestDispatcher("home.jsp");
    rd.forward(request, response);
    //Clean up resources
    public void destroy() {
    JSP Page
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
    <%@ taglib uri="http://java.sun.com/jstl/sql" prefix="sql" %>
    <%@ taglib uri="http://java.sun.com/jstl/xml" prefix="x" %>
    <html>
    <head>
    <title>
    index
    </title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
    <!--
    body {
         margin-left: 0px;
         margin-top: 0px;
         margin-right: 0px;
         margin-bottom: 0px;
    -->
    </style></head>
    <body bgcolor="#008000">
    <table width="100%" border="1" cellspacing="0" bordercolor="#000000">
    <tr>
    <td bgcolor="#FFFFFF"><h1>Welcome to NNET <c:out value="${requestScope.firstname}" /></h1>
    </td>
    </tr>
    </table>
    <br>
    <table width="100%" border="0" cellspacing="0">
    <tr>
    <td width="150"><table width="100%" border="1" cellspacing="0" bordercolor="#000000" bgcolor="#FFFFFF">
    <tr>
    <td><strong>Main Links </strong></td>
    </tr>
    <c:forEach var="item" items="${requestScope.mainlink}">
    <tr>
    <td valign="top"><c:out value="${item}"/></td>
    </tr>
    </c:forEach>
    </table>
    <p> </p></td>
    <td><table width="100%" border="0" cellspacing="0" bgcolor="#FFFFFF">
    <tr>
    <td valign="top"><h2>Announcements</h2>
    <p>
    <c:forEach var="item" items="${requestScope.anouncement}">
    <c:out value="${item}" />
    </c:forEach>
    </p>
    </td>
    </tr>
    </table></td>
    <td width="150"> </td>
    </tr>
    </table>
    </body>
    </html>

    OK if you look at the code I pasted above I have doen that. I hav ethat book and it is good. My question is how do I get the data read into a multidemisional array or an arraylist like I am using in the code above so I can access that on the jsp page. Can you give an example. Here is what I want . I have a table called anouncements with 3 fields (ID, name, url) I am returning say 10 results. I want to store them in a single arraylist or multideminsional array and call them on the jsp page. What syntax would I use on the servlet and on the jsp page for this? I know how to do it as seen above when I return only one field with many results from the database. Thank you in advance for any help

Maybe you are looking for