我正在捕捉一個設備事件,並根據來自它的信息我需要進行登錄。如果登錄已驗證,我想轉到我的應用程序的下一頁。執行一個servlet,以便我的doGet方法被調用
我試着用HttpURLConnection
來做,但它並沒有真正執行servlet。
這是我使用的遺傳密碼:
public static String getResponseFromUrl(String url) throws Exception {
URL website = new URL(url);
HttpURLConnection connection = (HttpURLConnection)website.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "application/json; charset=utf-8");
connection.setUseCaches(false);
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String response = "";
String inputLine;
while ((inputLine = in.readLine()) != null)
response += inputLine;
in.close();
return response.toString();
}
我也試過
InputStream responseInputStream = connection.getInputStream();
但具有相同的結果。 doGet
方法沒有被調用,顯然該應用程序不會移動到下一頁。
我很確定這可以通過在JSP
頁面內捕獲事件來完成,但我希望有一個更簡單的解決方案。
編輯:當在瀏覽器中提交相同的URL它一切正常。 doGet被調用並且應用程序移動到下一頁。
doGet()not called mean doGet()not invoked或getResponseFromUrl()not invoke?或其他東西 –
getResponseFromUrl()被調用並且沒有錯誤地運行。但doGet沒有被調用。 – Eddy
這意味着在當時獲取請求時doGet()沒有被調用正確的時候開始?如果doGet not invoke意味着所有其他bla bla不執行。我正確的想法? –