HTTP-POST-File Content in JAVA
In Web-Szenario haben wir zwei Verfahren zum Senden Inhalte an andere Seite "GET" und "POST". Obwohl in "GET"-Methode genießt Entwicklern die Flexibilität der Überprüfung der Inhalte immer vergangen, aber es gibt Grenzwert für das Senden von Daten. Wie zu vergleichen, "GET" Methode "POST" erfreut sich die Flexibilität für das Senden von Daten unbegrenzt und mit Hilfe dieser Methode können wir auch per riesige Datei Inhalt. Dieser Artikel soll Ihnen beibringen, wie wir riesige Datei Content auf Remote-Host senden kann. Um dies zu erreichen werden wir mit URLConnection Klasse, die Sie mit der Remote-URL-Seite angeschlossen werden können.
JSP Page Code
= "java.util.*,java.net.URL,java.net.URLConnection,java.net.URLEncoder,java.io.*" %> <% @ Page import = "java.util .*, java.net.URL, java.net.URLConnection, java.net.URLEncoder, java.io. *"%> <% URL url; URLConnection urlConn; DataOutputStream Ausdruck; DataInputStream input; / / URL der Remote-Skript. URL ( "http://localhost:8080/testpostdata" ) ; //testpostdata is the servlet name url = new URL ("http://localhost:8080/testpostdata"); / / testpostdata ist der Servlet-Namen / / Neue Open URL-Verbindung Kanal. ( ) ; urlConn url =. OpenConnection (); / / Lassen Sie die Laufzeit-System (RTS) wissen, dass wir Input wollen. true ) ; urlConn. setDoInput (true); / / Wir wollen Leistung zu tun. true ) ; urlConn. setDoOutput (true); / / Wir wollen keine Zwischenspeicherung false ) ; urlConn. setUseCaches (false); / / Geben Sie den Header Content-Type. "Content-Type" , "application/x-www-form-urlencoded" ) ; urlConn. setRequestProperty ("Content-Type", "application / x-www-form-urlencoded"); / / Senden POST-Ausgang. DataOutputStream ( urlConn. getOutputStream ( ) ) ; Ausdruck = new DataOutputStream (urlConn. getOutputStream ()); String content = URLEncoder . encode ( "Hitesh Agrawal" ) + "Name =" + URLEncoder. Encode ("Hitesh Agrawal") + URLEncoder . encode ( "Software Engineer" ) ; "Beruf & =" + URLEncoder. Encode ("Software Engineer"); content ) ; Ausdruck. writeBytes (Inhalte); ; Ausdruck. flush (); ; Ausdruck. close (); / / Get Response-Daten. DataInputStream ( urlConn. getInputStream ( ) ) ; input = new DataInputStream (urlConn. aktualisierbare Ergebnismengen ()); String str; null != ( ( str = input. readLine ( ) ) ) ) while (NULL! = ((str = Eingang. readLine ()))) ( . println ( str ) ; System. Out. Println (str); ) ; Input. close (); %>
Code Erläuterung für JSP:
- Hier schaffen wir ein Objekt durch den Aufruf der URLConnection OpenConnection ()-Methode ein URL-Objekt
- Nach dem Erstellen des Objekts setzen wir notwendige Attribute und Header für das Senden von Daten erforderlich
- Nach der Einstellung der Header schreibe ich die Daten auf dem OutputStream. Schließlich lese ich die Response-Daten.
testpostdata Servlet-Code
; import java.io. *; ; Import javax.servlet .*; ; Import javax.servlet.http .*; HttpServlet { public class Test (erstreckt HttpServlet init ( ServletConfig config ) throws ServletException { public void init (ServletConfig config) wirft ServletException ( ( config ) ; super. init (config); ) destroy ( ) { public void destroy () ( ) doPost ( HttpServletRequest request,HttpServletResponse response ) throws IOException , ServletException { public void doPost (HttpServletRequest Anfrage, HttpServletResponse response) throws IOException, ServletException ( request. getParameter ( "name" ) ; String name = Anfrage. GetParameter ("name"); request. getParameter ( "profession" ) ; String Beruf = Anfrage. GetParameter ("Beruf"); OutputStream f0; = name. getBytes ( ) ; byte buf [] = name. 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änge; i + +) ( buf [ i ] ) ; f0. write (buf [i]); ) ; f0. close (); ; buf = null; ) )
Code Erläuterung für Servlet:
- In doPost () Ich bin das Abrufen der Parameter zu senden mit request.getParameter
- Zur Gegenprobe, ob die Daten erfolgreich versendet Ich bin eine Datei erzeugen und den Inhalt der Datei wurde sind die Daten über POST erhalten

Benutzerdefinierte Suche


































Wie übertrage ich Dateien mit dieser Methode (sagen wir ein Bild (jpeg)). Ich habe versucht, aber nur 90 bis 10 Bytes übertragen bekommen.