1

我有一个显示一些信息的网页。在我的网页中,我有很多坐标(经度、纬度),我想制作一个 Java 类来排列这些坐标。

我正在尝试做的是在显示坐标之前,将它们发送到 java servlet。该 servlet 将修饰它们并发送回网页以显示它们。

我希望该网页不刷新,所以我认为我需要 ajax 来调用 servlet,我或多或少地控制了它。但我不知道如何从网页接收 java 中的数据。

我过去创建了一些 servlet,但总是使用 javascript 调用 java 函数。这样做的问题是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函数,而不是从其他服务器中的其他网页或不刷新网页...

你知道我应该怎么做吗?或者我应该读什么?

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

最后,您将使用这个基本结构。您将使用 POST 而不是我在此处提到的 GET

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 Servlet 端.......

您的 web.xml 将有一个 servlet 和相应的 servlet 映射;

小服务程序映射

//你的 Java Servlet 类

包 com.xyz;

公共类 ServlvetClassName 扩展 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 回答