Estou aprendendo java e estou me aventurando com java web mais precisamente com servlets e se alguem puder me ajudar gostaria de um modelo de classe que pegue um parametro enviado atraves de uma pagina html e armazene este parametro em um diretorio. tnks
Alguem pode me ajudar
9 Respostas
Google!!!
Da uma olhada aki:
http://www.guj.com.br/article.show.logic?id=9
vlw
abs
Gostei do link que me nviaram mas isto eu ja sei eu quero que o servlet pegue um parametro e armazene no servidor ou em um diretório especifico. Alguém tem um modelo de código??
Q tipo de parametro??
uma arquivo de texto uma imagem!!
o que?
vlw
abs
Eu vou mandar um arquivo de texto através de uma pagina html e quero armazena-lo em um diretório ou no servidor
Ok,
vo prepara um negocio e te passo!!
vlw
Sua JSP:
<html>
...
<body>
...
<form action="ServletUpload" method="post" enctype="multipart/form-data">
<input type="file" name="arquivo"/> <input type="submit" value="Upload"/>
</form>
...
</body>
</html>
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
try {
FileItemFactory factory = new FileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
InputStream is = null;//Este será o objeto que representará seu arquivo
boolean isMultipart = ServletFileUpload.isMultipartContent(new ServletRequestContext(req));
if (isMultipart) {
List itensFormulario = upload.parseRequest(req);//Lista todos os campos do fomulário (input's)
FileItem item = null;
for (int i = 0; i < itensFormulario.size(); i++) {
item = (FileItem)itensFormulario.get(i);
if (!item.isFormField()) {//Caso o item seja externo (um arquivo selecionado no input file)
is = item.getInputStream();//Agora temos o InputStream arquivo selecionado no input file
System.out.println(item.getName());//Nome do arquivo. Utilize para gravar o conteúdo do arquivo selecionado em outro arquivo de saída.
}
}
}
...
} catch (Exception e) {
}
}
public class FileUtils {
public static byte[] convertInputStreamToByteArray(InputStream is) throws Exception {
if (is == null) {
return null;
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[25600];
int bytesLidos = 0;
while ((bytesLidos = is.read(buffer, 0, buffer.length)) != -1) {
baos.write(buffer, 0, bytesLidos);
}
return baos.toByteArray();
}
}
try {
byte[] bytes = FileUtils.convertInputStreamToByteArray(is);//is é o InputStream recuperado na ServletUpload
OutputStream out = new FileOutputStream("C:\\arquivo_saida.txt");//criamos um arquivo de saída. txt é uma extensão de exemplo, você deverá utilizar a extensão do arquivo selecionado no input file da página.
out.write(bytes);
out.flush();
out.close();
} catch (Exception e) {
}
Lembre -se de baixar os JARs do apache commons!!
aki:http://commons.apache.org/fileupload/
vlw
abs
Muito obrigado pela ajuda!!! é a primeira vez que participo de um forum e vi que vlae muito a pena!!!grande abraço!!!
heehehe !
estamoas aki pra isso!!
ser ajudado e ajudar!!
vlw
abs