私はJavaとアプレットに精通していないので、次の私の探求の可能性を教えてください.
アプレットからサーブレットを呼び出したいのですが、可能ですか?
最初のものが可能であれば、アプレット変数に XML データや文字列などのサーブレット出力を格納できますか?
2番目のものが可能であれば、JavaScriptまたはJ Queryを使用してその変数値を取得できますか?
できれば簡単な例を教えてください。
前もって感謝します。
私はJavaとアプレットに精通していないので、次の私の探求の可能性を教えてください.
アプレットからサーブレットを呼び出したいのですが、可能ですか?
最初のものが可能であれば、アプレット変数に XML データや文字列などのサーブレット出力を格納できますか?
2番目のものが可能であれば、JavaScriptまたはJ Queryを使用してその変数値を取得できますか?
できれば簡単な例を教えてください。
前もって感謝します。
1つ:はい、http呼び出しを行うアプレットからサーブレットを呼び出すことができます
ステップ 1 : サーブレットに http 呼び出しを行う
ステップ 2: サーブレットが XML 応答を返すようにする
ステップ 3: xml 応答を解析する
このプログラムを使用して、サーブレットを呼び出すことができます
package com.hussain;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import java.util.ArrayList;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class callServlet {
public static void main(String[] args)
{
String servletResponse = callServlet.sendRequest("http://gdata.youtube.com/feeds/base/videos?max-results=10&start-//index=1&alt=json&orderby=published&author=astrobixweb");
callServlet.parseFromXMLResponse(servletResponse);
}
public static String sendRequest(String url) {
String result = "";
try {
HttpClient client = new DefaultHttpClient();
HttpParams httpParameters = client.getParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 5000);
HttpConnectionParams.setSoTimeout(httpParameters, 5000);
HttpConnectionParams.setTcpNoDelay(httpParameters, true);
HttpGet request = new HttpGet();
request.setURI(new URI(url));
HttpResponse response = client.execute(request);
InputStream ips = response.getEntity().getContent();
BufferedReader buf = new BufferedReader(new InputStreamReader(ips,"UTF-8"));
StringBuilder sb = new StringBuilder();
String s;
while (true) {
s = buf.readLine();
if (s == null || s.length() == 0)
break;
sb.append(s);
}
buf.close();
ips.close();
result = sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void parseFromXMLResponse(String respo)
{
// parse your XML response here
}
}
しかし、これらはすべて非常に複雑に聞こえます。達成しようとしていることを教えてください。もっと簡単な方法があるかもしれません。