Grazie !
credo di aver risolto proprio con l' iframe.

Codice dell'iframe

codice:
<html>
<head>

<script language="JavaScript" type="text/javascript" src="../js/private/ajax.js"></script>
<script language="JavaScript" type="text/javascript" src="../js/private/jsclasses.js"></script>
</head>
<body>
	<FORM METHOD="POST" id="caricaa" name="caricaa" ENCTYPE="multipart/form-data" ACTION="../UploadFile" >

		
		<INPUT NAME="nascosto" TYPE="hidden" >
			
		<label>Name:</label>
		<INPUT NAME="documentationNameInput" TYPE="text">


													
		<label>File:</label> 
		<INPUT NAME="documentationFileInput" TYPE="file" >


							
		<INPUT  TYPE="submit" VALUE="Send File" onclick="addDocumentation();">
				
	</FORM>
		
</body>
</html>

Codice servlet


come si evince basta fare l'output con il codice dell'iframe, dalla servlet



codice:
import java.io.File;
import java.io.IOException;
import java.io.Writer;
import java.net.URLDecoder;
import java.util.Iterator;
import java.util.List;


import javax.servlet.ServletContext;
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.FileItemFactory;
//import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;





/**
 * Class for storing the uploaded files.
 * 
 * @author JavaAtWork
 */
public class UploadFile extends HttpServlet {

  /**
    * The base upload directory. In this directory all uploaded files will
    * be stored. With the applet param tag 'directory' you can create a
    * subdirectory for a user. 
    * See http://www.javaatwork.com/parameters.html#directory for more 
    * information about the 'directory' param tag. For a Windows environment 
    * the BASE_DIRECTORY can be e.g. * 'c:/temp' for Linux environment '/tmp'.
    */
  
   
  

  protected void doPost(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException {
	  

	  
	  
	  ServletContext context = this.getServletConfig().getServletContext();

	  String BASE_DIRECTORY=context.getRealPath("/upload");
	  

    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    // check if the http request is a multipart request
    // with other words check that the http request can have uploaded files
    if (isMultipart) {

      //  Create a factory for disk-based file items
      FileItemFactory factory = new DiskFileItemFactory();

      //  Create a new file upload handler
      ServletFileUpload servletFileUpload = new ServletFileUpload(factory);

      // Set upload parameters
      // See Apache Commons FileUpload for more information
      // http://jakarta.apache.org/commons/fileupload/using.html
      servletFileUpload.setSizeMax(-1);

      try {

        String directory = "";

        String dirNascosta = "";
        
        // Parse the request
        List items = servletFileUpload.parseRequest(request);

        // Process the uploaded items
        Iterator iter = items.iterator();

        while (iter.hasNext()) {
          FileItem item = (FileItem) iter.next();

          // the param tag directory is sent as a request parameter to
          // the server
          // check if the upload directory is available
          if (item.isFormField()) {

            String name = item.getFieldName();
            
            //leggo il file nascosto per l'invio del nome con data modificato da javascript
            if (name.equalsIgnoreCase("nascosto")) {
            	
            	dirNascosta = item.getString();           	
            }	
            	           
            if (name.equalsIgnoreCase("documentationFileInput")) {

              directory = item.getString();
            }

            // retrieve the files
          } else {
        	  
        	  

            // the fileNames are urlencoded
            String fileName = URLDecoder.decode(item.getName(), "UTF-8");
            
            
            fileName=dirNascosta;
            
            //System.out.println("fileNameNEW------>"+fileName);
            //System.out.println("nascosto2q------>"+dirNascosta);
            
            //System.out.println("directory------>"+directory);
            File file = new File(directory, fileName);
            file = new File(BASE_DIRECTORY, file.getPath());
            //System.out.println("file------>"+file);

            // retrieve the parent file for creating the directories
            File parentFile = file.getParentFile();

            if (parentFile != null) {
              parentFile.mkdirs();
            }

            // writes the file to the filesystem
            item.write(file);
            System.out.println("Server path:" +file.getPath());            
          }
        }

      } catch (Exception e) {
        e.printStackTrace();
        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
      }

      response.setStatus(HttpServletResponse.SC_OK);
      Writer writer=response.getWriter();
      
      //metto il codice HTML per far rigenerare la stessa pagina
      String text="<FORM METHOD=\"POST\" id=\"caricaa\" name=\"caricaa\" ENCTYPE=\"multipart/form-data\" ACTION=\"UploadFile\"  ><INPUT NAME=\"nascosto\" TYPE=\"hidden\" ><label>Name:</label><INPUT NAME=\"documentationNameInput\" TYPE=\"text\">

<label>File:</label> <INPUT NAME=\"documentationFileInput\" TYPE=\"file\" >

<INPUT  TYPE=\"submit\" VALUE=\"Send File\" onclick=\"addDocumentation();\"></FORM></body></html>";           
      writer.write("<html><head><script language=\"JavaScript\" type=\"text/javascript\" src=\"js/private/ajax.js\"></script><script language=\"JavaScript\" type=\"text/javascript\" src=\"js/private/jsclasses.js\"></script></head><body><div>File uploaded</div>"+text);
      
            
      writer.close();

    } else {
      response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
    }
  }
  
}