2012-07-11 50 views
0

我有一個顯示一些信息的網頁。在我的網頁中,我有很多合作者(lon,lat),我想創建一個java類來管理這些coords。在網頁中從java servlet檢索數據

我想要做的是在顯示座標之前,將它們發送到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函數在其他服務器上其他網頁或不刷新網頁...

你有什麼想法應該怎麼做嗎?或者我應該讀些什麼呢?

+0

你爲什麼要在服務器端完成你的訂購?爲什麼你不能在Javascript中做到這一點? – Tusc 2012-07-11 09:18:13

+0

另外,您想如何開始通話?提交表單,點擊某個按鈕等;什麼會觸發行動? – mhan 2012-07-11 09:24:25

+0

我想在服務器端訂購它們,因爲可能有很多協同服務器,我認爲如果我在客戶端進行,它可能會很慢。 爲了開始通話,我有一個javascript函數,它在加載頁面期間被調用。該功能得到合作者名單,並應發送到服務器進行排序。 – user1298272 2012-07-11 09:40:53

回答

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側.......

你的web.xml將有一個servlet和相應的servlet映射;

servlet mapping

//你的Java Servlet類

包融爲一體。XYZ;

公共類ServlvetClassName延伸的HttpServlet {

//類型:在AJAX調用將trigget 「獲取」 其中的doGet將處理

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

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

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

     } 


     } 

//類型 「GET」:「 POST」在Ajax調用將trigget 「後」,其中的doPost將處理

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

    this.doGet(req, resp); 
} 

}

+0

謝謝。我認爲我對Ajax調用的想法與您的代碼類似。我在哪裏有問題是在Java方面。我不知道如何調用我想要的方法以及如何將數據發送到該方法... 我將檢查您的頁面,再次感謝。 – user1298272 2012-07-11 11:13:33

+0

編輯我的答覆與一些服務器端代碼/信息。 – mhan 2012-07-11 13:12:35