Sistema de download jsp, servlet

Ola
feliz 2010 para todos

estou tentando fazer um sistema de download utilizando jsp e servlets

tipo
minha pasta onde fica os arquivos nao eh publica
ex: /mnt/files

eu precisaria qeu o servlet criasse um link ou algo parecido que fizesse o lado cliente da pagina se comunicar com os arquivos desta pasta

alguem aii tem algum exemplo alguma ideia?

obrigado

como éque emano?

tafazendo em que ?

estou fazendo em java

assim
eu tenho um sistema de upload que envia os arquivos para uma pasta
por exemplo
/mnt/files
essa pasta não é publica nao pode ser acessada pelo navegador

eu precisaria de um sistema que copiasse o arquivo desta pasta e enviasse para o navegador entende

eu achei um post que esplica algo parecido
http://www.guj.com.br/posts/list/75067.java

so nao sei se funciona com arquivos grandes tipo 700mb
vou testar aqui

ok galera nao precisa mais ja consegui

ta ai o codigo para quem precisar 8)

[code]protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

    FileInputStream input = new FileInputStream("ARQUIVO A SER LIDO DO SERVER"); 
    byte[] buffer = new byte[1024]; // le o arquivo a cada 1kb
    ServletOutputStream out = response.getOutputStream();
    int read = 0;
    while((read = input.read(buffer)) != -1){

       out.write(buffer);
       out.flush();
    }

       out.close();


}[/code]

so precisa dizer qual o nome do arquivo com o

response.setHeader("Content-disposition", "attachment; filename=" + nomeArquivo); 

e fazer outras implementações :wink:
vlw abraço

Olá galera. Continuando este tópico, fiz a implementação do código, só que ao fazer o download de arquivos maiores de 400MB, o heap da JVM estoura rapidamente. Estou realizando um trabalho em que é necessário fazer download de arquivos do servidor de até 2GB e não apenas até 400MB.
Alguém pode ajudar? Segue o código:

            HttpServletResponse response =(HttpServletResponse) context.getResponse();
            
            response.setHeader("Content-Disposition","attachment;filename=\"" + nomeDoArquivoGeradoParaDownload + "\"");
            response.setContentLength((int) filez.length());

            
            response.setContentType("application/download");

            
            try {
                FileInputStream fis = new FileInputStream(filez);
                ServletOutputStream out = response.getOutputStream();
                FileInputStream in = new FileInputStream(filez);
                            byte[] buffer = new byte[1024];
                            int read = 0;
                            while((read = in.read(buffer)) != -1){
                                out.write(buffer);
                                out.flush();
                            }
                            out.close();
            } catch (IOException e) {
                System.out.print("Erro no envio do arquivo");
                e.printStackTrace();
            }
Caused by: java.lang.OutOfMemoryError: Java heap space
        at org.ajax4jsf.io.ByteBuffer.<init>(ByteBuffer.java:54)
        at org.ajax4jsf.io.ByteBuffer.append(ByteBuffer.java:112)
        at org.ajax4jsf.io.FastBufferOutputStream.write(FastBufferOutputStream.java:92)
        at org.ajax4jsf.webapp.FilterServletResponseWrapper$ByteArrayServletOutputStream.write(FilterServletResponseWrapper.java:257)