1

私はいくつかの情報を示すウェブページを持っています。私の Web ページには、多くの座標 (経度、緯度) があり、これらの座標を並べ替える Java クラスを作成したいと考えています。

私がやろうとしているのは、座標を表示する前に、座標を Java サーブレットに送信することです。このサーブレットはそれらを整理し、Web ページに送り返して表示します。

Webページが更新されないようにしたいので、サーブレットを呼び出すにはajaxが必要だと思います。多かれ少なかれ制御できます。しかし、WebページからJavaでデータを受け取る方法がわかりません。

過去にいくつかのサーブレットを作成しましたが、常に javascript を使用して Java 関数を呼び出していました。この方法で行う問題は、Web ブラウザーが別の Web ページ (java 呼び出しを伴う jsp) に移動することです。

座標を注文するためのコードはまだありませんが、これを使用して試しています:

package ordenacion;

public class OrdenarListaPuntos {


public static String ordenar(String cadenaDesordenada){  //String unordered
    String cadenaOrdenada;

//here goes the code for ordering
    cadenaOrdenada = cadenaDesordenada;
    return cadenaOrdenada; //String ordered
}
}

jspを使用してjavascriptからJava関数を呼び出す方法を知っていますが、他のサーバーの他のWebページから、またはWebページを更新せずに呼び出す方法は知っています...

どうすればいいのか、何か考えはありますか?または、それについて何を読むべきですか?

4

1 に答える 1

4

単純な概念以上のものを理解しようとしているので、少し読む必要があります。まずはこれらを見てください。

(jquery)ajaxリクエストの一部として配列を送信するにはどうすればよいですか

http://codesstore.blogspot.co.uk/2011/12/json-with-jquery-jsp-servlets.html

http://viralpatel.net/blogs/creating-parsing-json-data-with-java-servlet-struts-jsp-json/

http://srikanthtechnologies.com/blog/java/jobs_employees_jquery.html

最終的には、この基本構造を使用します。ここで言及した GET の代わりに POST を使用します。

var valSend = "aSingleParam";

var url = "/yourApplicationWebContext?paramPassed="+valSend;
console.log(url);
$.ajax({
    url: url,
    type: "GET",
    dataType: "json",
    success: function(data) {
    console.log("Data returned : " + data);



        if (typeof data == 'object') {

                }

        },
    error: function(jqXHR, textStatus, errorThrown) {
        console.log("jqXHR : "+jqXHR + " text status : " + textStatus + " error : " + errorThrown);
        }
    });

Java サーブレット側.......

web.xml には、サーブレットと対応するサーブレット マッピングが含まれます。

サーブレット マッピング

//Java サーブレット クラス

パッケージcom.xyz;

public class ServlvetClassName extends HttpServlet {

// ajax 呼び出しの type: "GET" は、doGet が処理する "get" をトリガーします

protected void doGet(HttpServletRequest req, HttpServletResponse response)
        throws ServletException, IOException {

        if(null!= req.getParameter("paramPassed")){

         // get and use your parameter, which "is paramPassed"..... 

        }


        }

// ajax 呼び出しの type: "POST" は、doPost が処理する "post" をトリガーします

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {

    this.doGet(req, resp);
}

}

于 2012-07-11T10:34:06.240 に答える