1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Permissão gravar arquivo txt no servidor linux

Bom dia galera, estou com problemas para gravar arquivo txt no servidor. Ele cria o arquivo em memoria então em tese não deveria dar problemas de permissão, mas pelo visto mesmo em memoria ele precisa armazenar em disco e é onde dá problemas de permissão. Na minha maquina local funciona perfeitamente, só no servidor que não. Não tenho acesso ao servidor por isso preciso saber onde ele grava para passar para quem cuida da rede.

Erro:

type Exception report

message java.io.FileNotFoundException: relatorio.txt (Permission denied)

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.io.FileNotFoundException: relatorio.txt (Permission denied) org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:460) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) filtros.FilterSession.doFilter(FilterSession.java:116) root cause

java.io.FileNotFoundException: relatorio.txt (Permission denied) java.io.FileOutputStream.open(Native Method) java.io.FileOutputStream.(FileOutputStream.java:194) java.io.FileOutputStream.(FileOutputStream.java:84) model.mLote.downloadPdf(mLote.java:507) org.apache.jsp.relatorio.LoteTxt_jsp._jspService(LoteTxt_jsp.java:113) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) filtros.FilterSession.doFilter(FilterSession.java:116) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.30 logs.

Código:

String codlote; try{ codlote = request.getParameter("lote").toString(); }catch(NullPointerException ex){ codlote = ""; } mLote objMLote = new mLote((conexao)request.getSession().getAttribute("conexao")); Vector cartoes = objMLote.listaCartaoLoteRelatorioPDF(String.valueOf(codlote)); Vector cartao = new Vector();

//String cami = request.getServletPath(); //application.getResource("/teste.pdf"); //String path = application.getRealPath("teste.pdf"); //path = path.trim().substring(path.indexOf("cartaoRezende"),path.indexOf("teste.pdf"));

if(cartoes.size()>0){ String numLote="",numCartao="",saida="",numLoteAux="";

saida = "Lote Cartão\r\n"; for (int i = 0 ; i < cartoes.size(); i++){

cartao = (Vector)cartoes.get(i); numLote = cartao.get(0).toString(); numCartao = cartao.get(1).toString(); if ((i==0) || (!numLoteAux.equals(numLote))){ numLoteAux=numLote; saida = "Lote: "+numLote+"\r\n"; saida += "Cartões\r\n"; } saida += numCartao+"\r\n"; }

objMLote.downloadPdf(saida,"relatorio.txt",response);

Na minha maquina ele grava em : C:\Users\marcelo.guimaraes\eclipse\jee-neon\eclipse Mas no servidor não encontro onde grava e como mudo o caminho onde grava? para colocar em uma pasta publica por exemplo?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java jsp ou faça a sua própria pergunta.