Mário ainda não não fiz a pagina HTML no log do servidor deu o seguinte
erro:

Sep 28, 2011 7:41:07 AM org.apache.catalina.core.StandardWrapperValve invoke
INFO: Servlet FileUploadServlet is currently unavailable


Em 27 de setembro de 2011 21:00, Mário Júnior <[email protected]>escreveu:

> Primeira dica: Toda app Java q se respeita TEM QUE TER LOG! :D
> ficar dando e.printStackTrace() nao é bonito de se ver. Recomendo usar o
> log4j, é muito fácil usa-lo e configura-lo. Assim vc fica com um arquivo
> .log próprio para sua aplicação, e mesmo no servidor de produção vc consegue
> conferir tudo oq acontece na sua app.
>
> Segunda dica: Faça uma pagina simples em html mesmo com um form e um input
> file e tente fazer o upload. Se der erro, é pq o problema está no back-end,
> isso elimina a hipótese de ser no Flex.
>
> Terceira dica: TODO JEE Container possui um log "genérico". Pesquise no seu
> servidor, dentro da pasta do tomcat dentro uma pastinha chamada de "log",
> verifique lá oq está sendo impresso pelo seu e.printStackTrace().
>
>
> []'s
>
>
>
>
>
> Em 27 de setembro de 2011 19:40, Re JMD <[email protected]> escreveu:
>
>>   Pessoal,
>>
>> Na minha aplicação tenho um upload com flex e servlet java no qual executo
>> tranquilo quando estou rodando a aplicação no Eclipse+Flex quando passso
>> para o meu servidor tomcat está dando o famoso erro:
>>
>> Error #2044: IOErrorEvent: não manipulado. text=Error #2038: Erro do
>> arquivo de E/S.
>>
>> Tentei achar o arquivo .htaccess para alterar porém no Apache TomCat não
>> achei.
>>
>> Alguém já passou por esse problema?
>>
>>
>> *private* *var* fileRef:FileReference;
>>
>> *//Acesso Local*
>>
>> *private* *var* request:URLRequest = *new* URLRequest (*
>> "FileUploadServlet"*);
>>
>>  *//Acesso Servidor*
>>
>> *//private var request:URLRequest = new URLRequest
>> ("/FileUploadServlet");*
>>
>> *private* *function* init():*void* {
>>
>> fileRef =
>> *new* FileReference();
>>
>> fileRef.addEventListener(Event.SELECT, fileRef_select);
>>
>> fileRef.addEventListener(ProgressEvent.PROGRESS, fileRef_progress);
>>
>> fileRef.addEventListener(Event.COMPLETE, fileRef_complete);
>>
>> processarRazao.enabled=
>> *false*;
>>
>> progressBar.visible =
>> *false*;
>>
>> }
>>
>> *private* *function* browseAndUpload():*void* {
>>
>> *var* fileFilter:FileFilter = *new* FileFilter(*"XLS(*.xls)"*,*"*.xls"*);
>>
>>
>> *var* fileTypes:Array = *new* Array(fileFilter);
>>
>> fileRef.browse(fileTypes);
>>
>> message.text =
>> *""*;
>>
>> }
>>
>> *private* *function* fileRef_select(evt:Event):*void* {
>>
>> *try* {
>>
>> *//message.text = "size (bytes): " +
>> numberFormatter.format(fileRef.size);*
>>
>> fileRef.upload(request);
>>
>> }
>> *catch* (err:Error) {
>>
>> *trace*(err.getStackTrace())
>>
>> message.text =
>> *"ERROR: zero-byte file"*;
>>
>> }
>>
>> }
>>
>> Servlet Java:
>>
>> import java.io.File;
>> import java.io.IOException;
>> import java.util.Iterator;
>> 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;
>>
>>
>> public class FileUploadServlet extends HttpServlet{
>>
>>
>>  private static final long serialVersionUID = -3809781585154857442L;
>>  //Acesso Local
>>  //private String uploadpatch =
>> getServletContext().getRealPath("/WEB-INF/teste");
>>
>>  private String uploadpatch =this.getServletContext().getRealPath("//");
>>  //Acesso Servidor
>>  //private String uploadpatch = "/classes/";
>>  public static final int maxPostSize = 100*1024*1024;
>>
>> public FileUploadServlet (){
>>  super();
>> }
>>
>>  protected void processRequest(HttpServletRequest request,
>> HttpServletResponse response) throws Exception{
>>
>>  try {
>>   response.setContentType("text/html;charset=UTF-8");
>>
>>   DiskFileItemFactory factory = new DiskFileItemFactory();
>>   factory.setSizeThreshold(4096);
>>
>>   ServletFileUpload upload = new ServletFileUpload(factory);
>>   upload.setFileSizeMax(maxPostSize);
>>
>>   List<FileItem> fileItens= upload.parseRequest(request);
>>   Iterator<FileItem> iter = fileItens.iterator();
>>
>>   while (iter.hasNext()){
>>    FileItem item = iter.next();
>>    if(!item.isFormField()){
>>
>>     item.write(new File(uploadpatch + item.getName()));
>>    }
>>   }
>>
>>  } catch (Exception e) {
>>   throw e;
>>  }
>>  }
>>
>>  protected void doGet(HttpServletRequest request, HttpServletResponse
>> response)
>>      throws ServletException, IOException{
>>
>>   try {
>>
>>    processRequest(request, response);
>>
>>   } catch (Exception e) {
>>    e.printStackTrace();
>>   }
>>  }
>>
>>  protected void doPost(HttpServletRequest request, HttpServletResponse
>> response)
>>  throws ServletException, IOException{
>>
>>   try {
>>
>>    processRequest(request, response);
>>
>>   } catch (Exception e) {
>>    e.printStackTrace();
>>   }
>>
>>  }
>>
>>
>>  public void destroy(){
>>
>>   super.destroy();
>>
>>  }
>>
>> }
>>
>> Web.xml
>>
>> <servlet>
>>
>> <description>
>>
>> </description>
>>
>> <display-name>
>>
>> FileUploadServlet
>> </display-name>
>>
>> <servlet-name>FileUploadServlet</servlet-name>
>>
>> <servlet-class>
>>
>> FileUploadServlet
>> </servlet-class>
>>
>> </servlet>
>>
>> <servlet-mapping>
>>
>> <servlet-name>FileUploadServlet</servlet-name>
>>
>> <url-pattern>/FileUploadServlet</url-pattern>
>>
>> </servlet-mapping>
>>
>>
>>
>>
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> Para sair da lista, envie um email em branco para
>> [email protected]
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>
>
>
>
> --
> Mario Junior
> http://blog.mariojunior.com/
> @mariojunior
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a