Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用HttpURLConnection确定web服务状态?_Java_Httpurlconnection - Fatal编程技术网

Java 如何使用HttpURLConnection确定web服务状态?

Java 如何使用HttpURLConnection确定web服务状态?,java,httpurlconnection,Java,Httpurlconnection,我正在使用standars java.net包向Rest WEB服务发布一条消息。 这就是我联系web服务并向其发布请求的方式 package com; import java.io.IOException; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; public class NetClientPost { public static void main(

我正在使用standars java.net包向Rest WEB服务发布一条消息。 这就是我联系web服务并向其发布请求的方式

package com;

import java.io.IOException;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class NetClientPost {

    public static void main(String[] args) {
        HttpURLConnection conn = null;
        OutputStream os = null;
        try {

            URL url = new URL("http://localhost:8080/RestTest/ajax/user_info");
            conn = (HttpURLConnection) url.openConnection();

            // System.out.println(conn.getResponseCode());

            conn.setDoOutput(true);
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/json");

            String input = "{\"qty\":100,\"name\":\"sdsfds 4\"}";

            os = conn.getOutputStream();
            os.write(input.getBytes());
            os.flush();

            conn.getInputStream();

        }

        catch (Exception e) {

            e.printStackTrace();

        }

        finally {
            try {
                os.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            conn.disconnect();

        }

    }

}
我担心的是,如果服务只是启动和运行,我想将请求发布到它,否则就不发布

请告诉我是否可以检查


提前感谢。

您可以尝试与主机建立套接字连接。如果套接字运行良好,您的请求应该可以工作

这只是一个非常简短的例子:

Socket client;

try{
   client = new Socket("localhost", 8080);
   // Do your stuff
} catch(Exception e) {
   System.out.println("Error");
}
文件:


这里有很多套接字示例,我希望这种方法可以帮助您解决问题。

谢谢Boehrsi,服务器可能正在运行,但在某些情况下web服务可能会停机。这是事实,但如果您查询服务器,您希望得到特定形式的答复。如果这个答案不成立,你有你的答案,或者我完全错了;)。同意,这段代码存在于自定义日志附加器中,该附加器以异步方式将消息记录到Web服务,因此如果服务关闭,我不想将消息记录到服务器。明白了。在这种情况下,我目前不知道如何帮助解决这个问题。如果我有什么想法,我会再写一封信。很抱歉