Rumah > Java > javaTutorial > teks badan

Java melaksanakan permintaan merentas domain dan penghantaran data data borang

WBOY
Lepaskan: 2023-08-08 09:51:28
asal
1334 orang telah melayarinya

Java melaksanakan permintaan merentas domain dan penghantaran data data borang

Java melaksanakan permintaan merentas domain dan penghantaran data data borang

Dalam pembangunan web moden, permintaan merentas domain adalah masalah biasa, terutamanya apabila kami menggunakan Java untuk memproses data borang. Artikel ini akan memperkenalkan cara menggunakan Java untuk melaksanakan permintaan merentas domain dan penghantaran data data borang untuk menyelesaikan masalah ini, dan menyediakan contoh kod yang berkaitan.

1. Apakah itu permintaan merentas domain
Permintaan merentas domain merujuk kepada meminta sumber di bawah nama domain lain daripada halaman web di bawah satu nama domain dan dasar asal yang sama standard penyemak imbas melarang permintaan merentas domain tersebut. Dasar asal yang sama telah diwujudkan untuk melindungi privasi pengguna dan keselamatan tapak web, tetapi dalam beberapa senario, kami perlu melaksanakan permintaan merentas domain, seperti pembangunan bahagian hadapan dan belakang yang berasingan, serta menggunakan nama dan port domain yang berbeza. untuk pembangunan bahagian hadapan.

2. Cara menyelesaikan permintaan merentas domain
Di Java, terdapat banyak cara untuk menyelesaikan masalah permintaan merentas domain Dua cara biasa akan diperkenalkan di bawah.

  1. JSONP
    JSONP ialah permintaan merentas domain yang menggunakan ciri teg untuk memuatkan sumber merentas domain. Di bahagian pelayan, kita perlu membungkus data yang dikembalikan ke dalam panggilan fungsi dan kemudian menghantar fungsi sebagai parameter kepada pemanggil. Pemanggil boleh menerima data yang dikembalikan dengan mentakrifkan fungsi panggil balik global.

Berikut ialah kod sampel yang menggunakan JSONP untuk melaksanakan permintaan merentas domain. Andaikan bahawa alamat antara muka pelayan ialah http://server.com/api dan nama domain halaman hadapan ialah http://client.com.

// 前端代码
function processData(data) {
  // 处理返回的数据
}

var script = document.createElement('script');
script.src = 'http://server.com/api?callback=processData';
document.head.appendChild(script);

// 服务端代码
String callback = request.getParameter("callback");
String data = "{"name": "Alice", "age": 20}";
String result = callback + "(" + data + ")";
response.getWriter().write(result);
Salin selepas log masuk
  1. CORS
    CORS ialah singkatan Perkongsian Sumber Silang Asal Ia merupakan kaedah permintaan merentas domain yang dilaksanakan dengan menetapkan pengepala respons pada bahagian pelayan. Di bahagian pelayan, kami perlu menetapkan Access-Control-Allow-Origin dan pengepala respons lain yang berkaitan untuk membenarkan nama domain tertentu membuat permintaan merentas domain.

Berikut ialah contoh kod yang menggunakan CORS untuk melaksanakan permintaan merentas domain. Andaikan bahawa nama domain halaman hadapan ialah http://client.com dan alamat antara muka pelayan ialah http://server.com/api.

// 前端代码
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://server.com/api');
xhr.onreadystatechange = function () {
  if (xhr.readyState === XMLHttpRequest.DONE) {
    if (xhr.status === 200) {
      var data = JSON.parse(xhr.responseText);
      // 处理返回的数据
    }
  }
};
xhr.send();

// 服务端代码
response.setHeader("Access-Control-Allow-Origin", "http://client.com");
String data = "{"name": "Alice", "age": 20}";
response.getWriter().write(data);
Salin selepas log masuk

3. Ringkasan
Di atas ialah cara menggunakan Java untuk melaksanakan permintaan merentas domain dan penghantaran data data borang. Kita boleh memilih kaedah yang sesuai untuk menyelesaikan masalah permintaan merentas domain berdasarkan senario dan keperluan tertentu. Sama ada menggunakan JSONP atau CORS, ia adalah penyelesaian biasa dan berkesan.

Saya harap artikel ini membantu anda Jika anda mempunyai sebarang pertanyaan, sila tinggalkan mesej. Terima kasih kerana membaca!

Atas ialah kandungan terperinci Java melaksanakan permintaan merentas domain dan penghantaran data data borang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!