Hem > Java > HTTP POST filinnehåll i JAVA

HTTP POST filinnehåll i JAVA

I Web scenario har vi två metod för att skicka innehåll till andra sidan "GET" och "POST". Även i "GET"-metoden utvecklare har flexibiliteten att kontrollera innehållet komma vidare men det finns gräns för att skicka data. Vad jämför med "GET"-metoden "POST" har den flexibilitet för att sända obegränsad data och med den här metoden kan vi också skicka stora filer innehåll. Den här artikeln kommer att lära dig om hur vi kan skicka stora filer till innehåll i fjärrvärd. För att uppnå detta kommer vi att använda URLConnection klass som låter dig ansluta till fjärr-URL-sida.

JSP-sidan Kod

  = "java.util.*,java.net.URL,java.net.URLConnection,java.net.URLEncoder,java.io.*" %> <% @ Sida import = "java.util .*, java.net.URL, java.net.URLConnection, java.net.URLEncoder, java.io. *"%>
 <%
     URL url;
     URLConnection urlConn;
     DataOutputStream utskrift;
     DataInputStream ingång;

     / / URL Remote Script.
     URL ( "http://localhost:8080/testpostdata" ) ; //testpostdata is the servlet name url = new URL ("http://localhost:8080/testpostdata"), / / testpostdata är en servlet namn

     / / Öppna ny länk anslutning kanal.
     ( ) ; urlConn = url. openConnection ();

     / / Låt run-time-systemet (RTS) vet att vi vill ha ingången.
     true ) ; urlConn. setDoInput (true);

     / / Vi vill göra produktionen.
     true ) ; urlConn. setDoOutput (true);

     / / Vi vill inte caching
     false ) ; urlConn. setUseCaches (falskt);

     / / Ange rubriken innehållstyp.
     "Content-Type" , "application/x-www-form-urlencoded" ) ; urlConn. setRequestProperty ("Content-Type", "application / x-www-form-urlencoded");

     / / Skicka POST utgång.
     DataOutputStream ( urlConn. getOutputStream ( ) ) ; utskrift = new DataOutputStream (urlConn. getOutputStream ());

     String innehåll =
     URLEncoder . encode ( "Hitesh Agrawal" ) + "Name =" + URLEncoder. Koda ("Hitesh Agrawal") +
     URLEncoder . encode ( "Software Engineer" ) ; "& Yrke =" + URLEncoder. Koda ("Software Engineer");

     content ) ; utskrift. writeBytes (innehåll);
     ; utskrift. flush ();
     ; utskrift. stäng ();

     / / Get svar data.
     DataInputStream ( urlConn. getInputStream ( ) ) ; input = new DataInputStream (urlConn. getInputStream ());
     String str;
     null != ( ( str = input. readLine ( ) ) ) ) medan (null! = ((str = ingång. readline ())))
     (
    	 . println ( str ) ; System. Ut. Println (str);
	 )
     ; ingång. stäng ();

 %> 

Din e-post:


Kod Förklaring till JSP:

  • Här skapar vi ett föremål för URLConnection genom att ringa openConnection () metod för ett URL objekt
  • När du har skapat objektet vi som nödvändiga attribut och rubriker för att skicka data
  • Efter att rubrikerna jag skriver data på OutputStream. Slutligen Jag läser svaret data.

testpostdata Servlet koden

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

 HttpServlet { public class test sträcker HttpServlet (

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

	 destroy ( ) { public void förstöra () (
	 )

	 doPost ( HttpServletRequest request,HttpServletResponse response ) throws IOException , ServletException { public void doPost (HttpServletRequest begäran HttpServletResponse svar) kastar IOException, ServletException (
		 request. getParameter ( "name" ) ; String name = begäran. GetParameter ("namn");
		 request. getParameter ( "profession" ) ; String yrke = begäran. GetParameter ("yrke");
		 OutputStream F0;

		 = name. getBytes ( ) ; byte buf [] = namn. 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. längd; i + +) (
			 buf [ i ] ) ; F0. skriva (buf [i]);
		 )

		 ; F0. stäng ();
		 ; BUF = null;
	 )
 ) 

Kod Förklaring till Servlet:

  • I doPost () Jag hämtar den parameter skickar med request.getParameter
  • För att dubbelkontrollera huruvida uppgifterna var skicka framgångsrikt Jag skapar en fil och filen innehållet är data från POST


Anpassad sökning

Populära artiklar:

Dela och njut:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • IndianPad
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Reddit
  • Add to favorites
  • PDF
  • Twitter
Tags: Kategorier: Java Taggar:
  1. Nahian
    16 dec 2009 kl 11:37 | # 1

    hur gör jag överföra filer med den här metoden (säger en bild (jpeg)). Jag har försökt men bara 9-10 bytes få överföras.

  1. Inga trackback ännu.