Como criar uma pasta/diretorio com jsp?

15 respostas
R

como criar uma pasta/diretorio através do jsp?

alguem sabe.
preciso que ao cadastrar um novo usuario no meu sistema, ele crie um diretorio para com o nome do mesmo.

obrigado. :x

15 Respostas

J
File f = new File("nome do diretorio");

não funciona???

[]`s

R

não funcionou, nem deu erro :confused:

R

Consegui criar a pasta, mas ela cria no diretorio do apache…
queria criar no diretorio da minha aplicacao.
alguem sabe como fazer isso?

File diretorio = new File("pasta"); diretorio.mkdir();

Z

renatodervelan:
Consegui criar a pasta, mas ela cria no diretorio do apache…
queria criar no diretorio da minha aplicacao.
alguem sabe como fazer isso?

File diretorio = new File("pasta"); diretorio.mkdir();

Tenta assim oh

File diretorio = new File(request.getContextPath() + "/pasta"); diretorio.mkdir();
[/quote]

R

Tenta assim oh

Code:

File diretorio = new File(request.getContextPath() + /pasta);

diretorio.mkdir();</blockquote>

não deu erro…mas tb n criou nenhuma pasta… :frowning:

L

Você tentou criar essa pasta onde? Lembre-se que isso é uma aplicação web, não desktop… Você precisa usar request.getContextPath() e apartir dai você pode criar uma pasta no próprio diretório de sua aplicação…

Z
ServletContext ctx = getServletContext();
String path = ctx.getRealPath( "/" );

 File diretorio = new File(path+ "/pasta");
diretorio.mkdir();

Tenta assim entao… :smiley:

L

Zirocool,

Se ele estiver trabalhando dentro de um war ou ear isso vai funcionar? Digo…a pasta será criada, externamente, mas se ele quisesse adicionar uma pasta dentro do war por exemplo…?

Z

Até onde eu sei, o container “descompacta” o .war para então trabalhar.
Os .ear, nao sei te dizer, mas se o eskema for o mesmo, possivelmente ele vai fazer o deploy do conteúdo em algum lugar, e trabalhar com o sistema descompactado.

L

Acho que o ear tem o mesmo conceito…quando o servidor é iniciado, ele extrai pra uma pasta lá no temp e passa a trabalhar com ele…a questão é que acredito que ele faça isso apenas pra o .war ou .ear, e seu conteúdo interno. É possível trabalhar com war’s e ear’s trabalhando com pastas: minhaApp.ear, minhaApp.war, minhaApp.jar, e ai talvez criar uma pasta não gere esse conflito, mas se for pra trabalhar com um único arquivo .ear e .war acho que poderia gerar problemas…

Z

Eu acho que nao vai ter problemas e nem conflitos, o que passar a acontecer dentro da webapp, fica indiferente ao .war, que nada mais é que um zip com extensao diferente.

[ ]'s,
Misael Silveira.

L

Certo…

O “conflito” que estou dizendo é que se você estiver trabalhanco com um .war o RealPath da aplicação + nova pasta poderá ser diferente em execuções diferentes (supondo eu que quando o container descompacta o .war pra uma pasta temporária ele possa criar pastas com nomes diferentes em caso de um redeploy)

[]'s

F

e se for feito um redeploy essa pasta fica lá ou é apagada ? Se você gerar um deploy com outro .war ou .ear com nomes diferentes ? Essa imagem vai estar lá ?

A depender da situação, você tem que montar o ambiente de produção em um local e se for ter que criar arquivos etc e tal, especificar uma pasta no diretório, onde a aplicação está rodando e de preferência, caso a aplicação utilize muitos arquivos/imagens/etc… a pasta fica num diretório diferente da aplicação no war. Se for um software-produto, peça para o usuário escolher em que pasta no sistema de diretórios dele ele vai salvar os arquivos.

E se a aplicação utilizar poucos arquivos para serem salvos, é melhor colocá-los em banco do que em arquivos.

R

vou testar!
ja respondo!

R

deu certo!!
criou na estrutura de diretorios…
podem usar!!

Criado 15 de julho de 2006
Ultima resposta 18 de jul. de 2006
Respostas 15
Participantes 5