HTTP POST File Content em JAVA

No cenário da Web temos dois método para enviar conteúdo para outra página "Começar" e "pós". Embora em "GET desenvolvedores" método beneficia da flexibilidade de verificar o conteúdo ficando passou, mas não há limite para o envio de dados. Como comparar a "GET" método "POST" beneficia da flexibilidade para o envio de dados ilimitados e usando este método, podemos também enviar o conteúdo do arquivo enorme. Este artigo vai lhe ensinar sobre como podemos enviar conteúdo enorme arquivo de host remoto. Para conseguir isso, vamos estar usando classe URLConnection que lhe permite se conectar com o URL da página remota.

Código de página JSP

  = "java.util.*,java.net.URL,java.net.URLConnection,java.net.URLEncoder,java.io.*" %> <% @ Page import = "java.util .*, java.net.URLConnection java.net.URL, java.net.URLEncoder, java.io. *"%>
 <%
     URL url;
     UrlConn URLConnection;
     DataOutputStream impressão;
     DataInputStream entrada;

     / / URL do Remote Script.
     URL ( "http://localhost:8080/testpostdata" ) ; //testpostdata is the servlet name URL url = new (http://localhost:8080/testpostdata "); / / testpostdata é o nome do servlet

     / / Open Novo canal de ligação do URL.
     ( ) ; urlConn url = openConnection. ();

     / / Deixe que o sistema run-time (RTS) sabem que nós queremos de entrada.
     true ) ; urlConn. setDoInput (true);

     / / Que nós queremos fazer de saída.
     true ) ; urlConn. setDoOutput (true);

     / / Não queremos cache
     false ) ; urlConn. setUseCaches (false);

     / / Especificar o tipo de conteúdo do cabeçalho.
     "Content-Type" , "application/x-www-form-urlencoded" ) ; urlConn. setRequestProperty ( "Content-Type", "application / x-www-form-urlencoded");

     / / Enviar a saída de POST.
     DataOutputStream ( urlConn. getOutputStream ( ) ) ; impressão = new DataOutputStream (urlConn. getOutputStream ());

     String content =
     URLEncoder . encode ( "Hitesh Agrawal" ) + "name =" + URLEncoder codificar. ( "Hitesh Agrawal") +
     URLEncoder . encode ( "Software Engineer" ) ; "& profissão =" + URLEncoder codificar. ( "Engenheiro de Software");

     content ) ; impressão. writeBytes (conteúdo);
     ; impressão. flush ();
     ; impressão. close ();

     / / Obter dados de resposta.
     DataInputStream ( urlConn. getInputStream ( ) ) ; input = new DataInputStream (urlConn. getInputStream ());
     String str;
     null != ( ( str = input. readLine ( ) ) ) ) while (null! = ((str = input. readLine ())))
     (
    	 . println ( str ) ; Sistema. Fora. Println (str);
	 )
     ; entrada. close ();

 %> 

Seu e-mail:


Explicação do código de JSP:

  • Aqui nós criamos um objeto de URLConnection chamando o openConnection () de um objeto URL
  • Após criar o objeto que definir os atributos necessários e cabeçalhos necessários para o envio de dados
  • Depois de definir o que eu estou escrevendo cabeçalhos dos dados sobre o OutputStream. Finalmente estou lendo os dados de resposta.

testpostdata Servlet Code

  ; import java.io. *;
 ; import javax.servlet .*;
 ; import javax.servlet.http .*;

 HttpServlet { public class teste extends HttpServlet (

	 init ( ServletConfig config ) throws ServletException { public void init (config ServletConfig) throws ServletException (	
		 ( config ) ; super. init (config);
	 )

	 destroy ( ) { public void destroy () (
	 )

	 doPost ( HttpServletRequest request,HttpServletResponse response ) throws IOException , ServletException { public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException (
		 request. getParameter ( "name" ) ; String name = pedido. GetParameter ( "nome");
		 request. getParameter ( "profession" ) ; String profissão = pedido. GetParameter ( "profissão");
		 OutputStream F0;

		 = name. getBytes ( ) ; byte buf [] = nome. getBytes ();

		 FileOutputStream ( "/home/hitesh/Desktop/postcontent.txt" ) ; f0 = new FileOutputStream ( "/ home hitesh / Desktop / postcontent.txt");

		 int i = 0 ; i < buf . length ; i ++ ) { for (int i = 0; i <buf comprimento.; i + +) (
			 buf [ i ] ) ; f0. write (buf [i]);
		 )

		 ; f0. close ();
		 ; buf = null;
	 )
 ) 

Explicação do código de Servlet:

  • No doPost () estou recuperando o parâmetro enviar usando request.getParameter
  • Para verificará se os dados foi enviado com sucesso estou criando um arquivo eo conteúdo do arquivo são os dados recebidos através de POST

Custom Search


Artigos populares:

Tags: Categorias: Java Tags:
  1. Nahian
    16 de dezembro de 2009 às 11:37 | # 1

    Como faço para transferir arquivos utilizando este método (digamos, uma imagem (jpeg)). Eu tentei, mas apenas 9-10 bytes são transferidos.

  1. No trackbacks ainda.