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
