ホームページ  >  記事  >  Java  >  Javaはクロスドメインリクエストとフォームデータのデータ送信を実装します。

Javaはクロスドメインリクエストとフォームデータのデータ送信を実装します。

WBOY
WBOYオリジナル
2023-08-08 09:51:281338ブラウズ

Javaはクロスドメインリクエストとフォームデータのデータ送信を実装します。

Java はクロスドメイン リクエストとフォーム データのデータ送信を実装します

現代の Web 開発では、特に Java を使用してクロスドメイン リクエストが発生することがよくあります。フォームデータを処理します。この記事では、この問題を解決するために Java を使用してクロスドメイン リクエストとフォーム データのデータ送信を実装する方法を紹介し、関連するコード例を示します。

1. クロスドメイン リクエストとは何ですか?
クロスドメイン リクエストとは、あるドメイン名の Web ページから別のドメイン名のリソースをリクエストすることを指しますが、ブラウザの標準の同一オリジン ポリシーではそのようなことは禁止されています。クロスドメインリクエスト。同一生成元ポリシーは、ユーザーのプライバシーと Web サイトのセキュリティを保護するために確立されましたが、一部のシナリオでは、フロントエンドとバックエンドを個別に開発し、異なるドメイン名とポートを使用するなど、クロスドメイン リクエストを実装する必要があります。フロントエンド開発用。

2. クロスドメインリクエストを解決する方法
Java では、クロスドメインリクエストの問題を解決する方法が多数ありますが、一般的な 2 つの方法を以下に紹介します。

  1. JSONP
    JSONP は、<script> タグの機能を使用してドメイン間でリソースを読み込むクロスドメイン リクエストです。サーバー側では、返されたデータを関数呼び出しにラップし、その関数をパラメーターとして呼び出し元に渡す必要があります。呼び出し元は、グローバル コールバック関数を定義することで、返されたデータを受け取ることができます。 </script>

次は、JSONP を使用してクロスドメイン リクエストを実装するサンプル コードです。サーバーのインターフェイス アドレスが http://server.com/api、フロントエンド ページのドメイン名が 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);
  1. CORS
    CORS とは Cross-Origin Resource Sharing の略で、サーバー側でレスポンスヘッダを設定することで実現されるクロスドメインリクエストメソッドです。サーバー側では、特定のドメイン名がクロスドメイン要求を行うことを許可するために、Access-Control-Allow-Origin およびその他の関連する応答ヘッダーを設定する必要があります。

次は、CORS を使用してクロスドメイン リクエストを実装するサンプル コードです。フロントエンド ページのドメイン名が http://client.com で、サーバーのインターフェイス アドレスが 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);

3. 概要
以上は、Java を使用してクロスドメイン リクエストとフォーム データのデータ送信を実装する方法です。特定のシナリオとニーズに基づいて、クロスドメインリクエストの問題を解決するための適切な方法を選択できます。 JSONP を使用するか CORS を使用するかにかかわらず、これらは一般的で効果的なソリューションです。

この記事があなたのお役に立てば幸いです。ご質問がございましたら、お気軽にメッセージを残してご相談ください。読んでくれてありがとう!

以上がJavaはクロスドメインリクエストとフォームデータのデータ送信を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。