2014-04-08 49 views
1

我正在爲Java編寫一個REST服務器和客戶端。我這樣做是爲了教育目的。如何構建請求到java服務器?

我的服務器是一個web應用程序,它通過servlet處理來自客戶端的請求。之後,它打開存儲連接,檢索數據並將其作爲json發送。 我的客戶端是一個網頁應用程序,它有一些簡單的網頁。用戶單擊一個按鈕,客戶端句柄上的servlet並向服務器發送(sic!)請求。

可能是這樣有點奇怪,因爲在客戶端moderbn世界只寫富含JS代碼的HTML頁面,例如Bootstrap,Backbone Angular等,服務器端是通過JAX-RS或Spring編寫的,但我的目標是儘可能簡單地在純Java上編寫這個寵物項目。

我遇到了一個問題,我不明白如何將請求從客戶端發送到服務器端。我已經收到用戶在servlet中的請求,並且我想發送一個響應給服務器。

什麼是可能的方法來做到這一點,什麼是最好的?

謝謝。

+0

約servlet容器和Ajax調用讀文件。 – dgregory

+0

我想避免AJAX調用。我們有另一種方式向服務器發送請求嗎? –

+1

難道你不是隻是在困惑和困惑的方式詢問如何從servlet調用REST服務嗎?在這種情況下,答案是:使用JAX-RS API,例如作爲參考實現的Jersey。 – Gimby

回答

0

您可以使用Jquery Ajax通過服務器端所需的參數調用您的web服務。根據從servlet獲取的數據更新您的view/jsp/html。

的Ajax從JavaScript調用:

function onButtonClick(){ 
    $.ajax({   
      type:  "post", //method type 
      dataType: "json", //response data type 
      url:  ajaxUrl, //your webservice URL 
      data:  "jsonobj", // Data to be send to server 
      success: function(response) // call back function after get successfull responce 
      { 
       // Process JSON response here 

      } 
     });  
}  

你的servlet代碼:

public class ResellerServlet extends HttpServlet 
{  
    public void doPost(HttpServletRequest req, HttpServletResponse res) 
    { 
     //Process request here 
     // Convert your response in JSON and send it back to client 
    } 
} 
+0

謝謝,Yagnesh。正如我所提到的,儘量避免使用來自網頁的請求,我希望在調用servlet的時候做到這一點 –

+0

如何在沒有網頁請求的情況下從客戶端調用servlet? –

+0

正如我在我的問題客戶端點擊網頁上提到的,servlet被調用 - 客戶端會提出請求,我是濫用lang,我的意思是不要做ajaz請求。我認爲,如果我需要以某種方式從服務器我的數據之前顯示它來計算,這將是更好的對JS –

相關問題