0

私がやっているプロジェクトでは、ブラウザの「同一オリジンポリシー」の制限により、サーバー側の部分を開発することを余儀なくされました。これにより、AJAX がページのドメイン外のものに要求を行うことができなくなります。

したがって、ページのハンドラーとして機能し、外部サイトから XML を取得し、AJAX を使用してクライアント ページに返す Java サーブレットを構築しています。

GET パラメータを使用して、どの URL から XML をフェッチするかをサーブレットに指示します。

私は Java の初心者です。これは PHP で簡単に実行できますが、残念ながら、PHP または Apache をホストする環境はありません。

スケルトンコード

public void doGet(HttpServletRequest agentRequest, HttpServletResponse agentResponse) 
throws ServletException, IOException
{

    agentResponse.setContentType("text/xml");


    //determine if agentRequest is for templateList or templateDetails


        //build URL for specific request

    //if no parameters sent or invalid send error response


    //fetch XML from URL 


    //output response XML to client  

}

完全なコード ソリューションは必要ありません。正しい方向に導くための参照とアイデアだけです。

たとえば、これに使用する Java 機能など。

ありがとう

4

1 に答える 1

1

要求に応じて、開始するためのいくつかの高レベルのアイデア: まず、要求パラメーターから外部 URL を取得します。

//equivalent of PHP $_GET["url"]
String externalUrl = agentRequest.getParameter("url"); 

次に、外部 URL から応答を取得する必要があります。Java で HTTP GETを行うにはどうすればよいですか?

最後に、提供された OutputStream を使用して、応答を応答に書き込む必要があります。

agentResponse.getOutputStream();
于 2013-04-04T11:28:40.977 に答える