Головна > Java > HTTP POST Файл права на JAVA

HTTP POST Файл права на JAVA

У сценарії веб нас є два методи, щоб відправити вміст іншої сторінки "GET" і "POST". Хоча в "GET" метод розробників володіє гнучкістю перевірки вмісту отримання пройшло, але є межа для передачі даних. Як порівняти з "GET" метод "POST" користується гнучкість для відправки необмеженого даних і за допомогою цього методу ми можемо відправити величезний зміст файлу. У цій статті ми навчимо вас, як ми можемо направити величезні вміст файлу на віддаленому хості. Для досягнення цієї мети ми будемо використовувати URLConnection клас, який дозволяє підключатися з віддалених URL сторінки.

JSP Page кодексу

  = "java.util.*,java.net.URL,java.net.URLConnection,java.net.URLEncoder,java.io.*" %> <% @ Page імпорту = "java.util .*, java.net.URL, java.net.URLConnection, java.net.URLEncoder, java.io. *"%>
 <%
     URL URL;
     URLConnection urlConn;
     DataOutputStream роздруківку;
     DataInputStream вхід;

     / / URL дистанційного Script.
     URL ( "http://localhost:8080/testpostdata" ) ; //testpostdata is the servlet name URL = URL нового ("http://localhost:8080/testpostdata"); / / testpostdata це ім'я сервлет

     / / Відкриваємо новий URL каналу зв'язку.
     ( ) ; urlConn = URL. openConnection ();

     / / Нехай під час виконання системи (РТС), що ми хочемо введення.
     true ) ; urlConn. setDoInput (TRUE);

     / / Ми хочемо зробити висновок.
     true ) ; urlConn. setDoOutput (TRUE);

     / / Ми не хочемо кешування
     false ) ; urlConn. setUseCaches (брехня);

     / / Вкажіть тип вмісту заголовка.
     "Content-Type" , "application/x-www-form-urlencoded" ) ; urlConn. setRequestProperty ("Content-Type", "застосування / х-веб-форми urlencoded");

     / / Відправити POST продукції.
     DataOutputStream ( urlConn. getOutputStream ( ) ) ; Роздруківка = новий DataOutputStream (urlConn. getOutputStream ());

     String зміст =
     URLEncoder . encode ( "Hitesh Agrawal" ) + "Ім'я =" + URLEncoder. Кодування ("Hitesh Agrawal") +
     URLEncoder . encode ( "Software Engineer" ) ; "І професія =" + URLEncoder. Кодування ("інженер-програміст");

     content ) ; роздруківки. writeBytes (вміст);
     ; роздруківки. врівень ();
     ; роздруківки. Close ();

     / / Отримати дані відповіді.
     DataInputStream ( urlConn. getInputStream ( ) ) ; введення нових DataInputStream = (urlConn. getInputStream ());
     String вул;
     null != ( ( str = input. readLine ( ) ) ) ) а (пі! = ((= вхідний вул. ReadLine ())))
     (
    	 . println ( str ) ; Система. У. Println (рядок);
	 )
     ; вхід. Close ();

 %> 

Адреса електронної пошти:


Кодекс Пояснення JSP:

  • Тут ми створюємо об'єкт URLConnection по телефону openConnection () метод об'єкта URL
  • Після створення об'єкту ми встановлюємо необхідні атрибути і заголовків, необхідні для передачі даних
  • Після установки заголовків я пишу дані про OutputStream. Нарешті я читаю відповідь даних.

testpostdata Servlet кодексу

  ; імпорт java.io. *;
 ; імпорт javax.servlet .*;
 ; імпорт javax.servlet.http .*;

 HttpServlet { публічного тестування клас розширює HttpServlet (

	 init ( ServletConfig config ) throws ServletException { громадського ініціалізації недійсним (ServletConfig конфігурації) кидає ServletException (	
		 ( config ) ; супер. ініціалізації (конфігурації);
	 )

	 destroy ( ) { громадського недійсними знищити () (
	 )

	 doPost ( HttpServletRequest request,HttpServletResponse response ) throws IOException , ServletException { громадського doPost недійсним (HttpServletRequest прохання HttpServletResponse відповідь) кидки IOException, ServletException (
		 request. getParameter ( "name" ) ; String ім'я = запит. GetParameter ("ім'я");
		 request. getParameter ( "profession" ) ; String професії = запит. GetParameter ("професію");
		 OutputStream F0;

		 = name. getBytes ( ) ; байт BUF [] = ім'я. getBytes ();

		 FileOutputStream ( "/home/hitesh/Desktop/postcontent.txt" ) ; F0 = новий FileOutputStream ("/ головна / Hitesh / Desktop / postcontent.txt");

		 int i = 0 ; i < buf . length ; i ++ ) { для (INT = 0; я <BUF. довжину; я + +) (
			 buf [ i ] ) ; F0. Написати ('іЕ [я]);
		 )

		 ; F0. Close ();
		 ; ЬіЕ = NULL;
	 )
 ) 

Кодекс Пояснення Servlet:

  • У doPost () я отриманні параметра відправити використанням request.getParameter
  • Для перехресну чи дані були успішно відправити я створюю файл, і його зміст є дані, отримані через POST

Користувальницька пошуку


Популярні статті:

Делите і насолоджуйтеся:
  • 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: Категорії: Java Мітки:
  1. Nahian
    16 грудня 2009 в 11:37 | # 1

    Як перенести файли за допомогою цього методу (наприклад, зображення (JPEG)). Я спробував, але тільки 9-10 байт переносяться.

  1. Немає повідомлень.