我有一个显示一些信息的网页。在我的网页中,我有很多共同参与者(lon,lat),我想创建一个java类来管理这些coords。
我想要做的是在显示coords之前,将它们发送到java servlet。这个servlet会对它们进行封装并发送回网页来显示它们。
我希望网页不刷新所以我认为我需要ajax来调用servlet,我或多或少地控制它。但我不知道如何从网页上接收java中的数据。
我在过去创建了一些servlet但总是使用javascript调用java函数。通过这种方式实现它的问题是Web浏览器转到其他网页(带有java调用的jsp)。
我还没有订购coords的代码,但我正在使用它来尝试:
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函数,而不是从其他服务器中的其他网页调用java函数,或者没有刷新网页......
你对我应该怎么做有什么想法吗?或者我应该读些什么呢?
答案 0 :(得分:3)
你需要做一些阅读,因为你试图掌握的不仅仅是一个简单的概念。 看看这些是一个开始;
How do you send an array as part of an (jquery) ajax request
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 Side .......
您的web.xml将有一个servlet和相应的servlet映射;
//您的Java Servlet类
包com.xyz;
public class ServlvetClassName扩展了HttpServlet {
// ajax调用中的类型:“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调用中的“POST”将触发doPost将处理的“post”
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doGet(req, resp);
}
}