执行servlet以调用我的doGet方法

时间:2015-12-02 15:48:49

标签: java jsp servlets

我正在捕捉设备事件,并根据来自它的信息,我需要登录。如果登录已经过验证,我想转到我的应用程序的下一页。

我尝试使用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页面内捕获事件来完成,但我希望有一个更简单的解决方案。

编辑:在浏览器中提交相同的网址时,一切正常。调用doGet,应用程序移动到下一页。

1 个答案:

答案 0 :(得分:-1)

来自Doc:

   URL url = new URL("http://www.android.com/");
   HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
   try {
     InputStream in = new BufferedInputStream(urlConnection.getInputStream());
     readStream(in);
    finally {
     urlConnection.disconnect();
   }
 }

尝试使用“readStream(in);”

如果仍然无效,则错误必须来自URL。 你说你在这个网址上有一个doGet方法,请尝试使用浏览器确保网址响应。你真的需要一个不同的doGet / doPost吗?改为使用“服务”方法