O Outro erro foi esse: Sep 28, 2011 8:07:02 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Allocate exception for servlet FileUploadServlet java.lang.NullPointerException at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:160) at FileUploadServlet.<init>(FileUploadServlet.java:22) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1116) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source)
Em 28 de setembro de 2011 07:42, Re JMD <[email protected]> escreveu: > 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
