2017-05-30 192 views
0

我有以下問題:將數據發送到.JSP

林在我的樹莓派3使用Python來獲取一些數據。我想將這些數據發送到一個.jsp(java服務器頁面)。我嘗試使用請求python庫,但每當我運行它,它會打印:(500,'內部服務器錯誤')。

這裏是在Python腳本中使用的代碼:

if AP1snr>=E1liAP1 and AP1snr<=E1lsAP1: 
    if (AP2snr>=E1liAP2 and AP2snr<=E1lsAP2): 
     if (AP3snr>=E1liAP3 and AP3snr<=E1lsAP3): 
      if (AP4snr>=E1liAP4 and AP4snr<=E1lsAP4): 
       a=101; 
       ban=1; 
if ban==1: 
    r = 
    requests.post("http://mywebsite.com/localizador.jsp", 
    data={'number': a, 'type': 'issue', 'action': 'show'}) 
    print(r.status_code, r.reason) 

這裏是我的JSP,以顯示我發送的數據的代碼:

<% 
     if(request.getAttribute("salon")!=null){ 
     Localizador localizador=request.getAttribute("Salon"); 
     %>  
     <tr><td><%=localizador.getNombresalon()%> </td> </tr> 
    <%  
     } 
    } 
%> 

最後,這裏是我的servlet代碼其中i打算將數據存儲爲一個變量,並使其在頁面的屬性:

try { 
    String salon = request.getParameter("a"); 
    localizador localizador= new localizador(); 

    localizador.setNombresalon(salon); 
    request.setAttribute("salon",localizador); 


    } catch (Exception ex) { 
     Logger.getLogger(localizadorControlador.class.getName()).log(Level.SEVERE, null, ex); 
    } 
RequestDispatcher redireccion = 
request.getRequestDispatcher("localizador.jsp"); 
    redireccion.forward(request, response); 
+0

顯然你知道如何在java中使用記錄器。你爲什麼不看日誌文件實際上說什麼? – e4c5

回答

0

的HTTP reques當提供數據參數時,t將是一個POST而不是GET。試試這個

import urllib 
import urllib2 

params = urllib.urlencode({'hello':'there', 'foo': 'bar'}) 
urllib2.urlopen('http://example.com/test.jsp?+params') 
+0

我試過使用這段代碼,但它不工作,即時通訊使用requests.post,所以我不知道爲什麼你說我需要使用後,而不是一個get?我錯過了什麼嗎? –