Li algumas coisas por ai, mas não entendi direito o processo…
Uso o método para criar o arquivo:
[code] public File NomeExcelRelatorio(String login) {
//ADICIONA DATA/HORA NO ARQUIVO GERADO
GregorianCalendar calendar = new GregorianCalendar();
SimpleDateFormat formatador = new SimpleDateFormat("dd' de 'MMMMM' de 'yyyy");
File dir = new File("arquivoUpload");
if (dir.mkdir()) {
System.out.println("Diretório criado com sucesso!");
}
File arq = new File(dir, login+"_Relatorio_Atual - "+formatador.format(calendar.getTime())+".xls");
return arq;
}[/code]
Gero o arquivo belezinha… mas em um diretório dentro do diretório do Eclipse… e no Windows ou no Linux ele cria aleatoriamente em algum lugar.
Queria já deixar um diretório dentro do webContent --> Diretório
e ai gravar esse arquivo lá…
Sei que é um assunto que tem bastante coisa por ai, mas eu queria um modo de aprender melhor…
Essa pasta webcontent faz parte do padrão de projeto web em java, vc teria que ter um controller com um metodo recebendo o request do navegados assim vc teria acesso a esses objetos e metodos. vc vai ver que cara metodo retorna um detalhe sobre o caminho fisico do projeto
O caminho é esse ai que o alexafe falou. Na API Servlet você consegue recuperar informações sobre o caminho onde a aplicação está rodando no servidor.
Só lembrar de um detalhe: Essa pasta “WebContent” na verdade é um padrão de projeto fonte do Eclipse. Em tempo de execução ela não vai existir. Na verdade tudo que fica dentro dela fica na raiz do projeto WEB, junto com o diretório WEB-INF.
Então não espere usar um daqueles métodos e ver algum path retornando com “WebContent” no meio, já que quando seu projeto for empacotado e jogado no servidor ela não vai existir mais.
Você quer que esse arquivo fique visível para ser acessado como recurso web? Tipo digitando o caminho dele no navegador? Como se faz com imagens normalmente.
Pessoal, ainda não sei qual melhor solução para isso… eu crio um arquivo excel e faço o download por um botão e depois exclui do diretório… mas no Chrome não funciona… MAS, só no servidor, pois local funciona
if(!arq.exists()){
// ENTRA AQUI COMO SE NÃO HOUVESSE ARQUIVO
request.setAttribute("msgRetornoMedicao", msgRetornoMedicao);
request.getRequestDispatcher("erro.jsp").forward(request, response);[/code]
Não está criando o arquivo… mas local cria de boa… no IE cria nos dois ambientes