Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 使用URLConnection访问时连接超时_Java_Ajax_Jsp_Stream - Fatal编程技术网

Java 使用URLConnection访问时连接超时

Java 使用URLConnection访问时连接超时,java,ajax,jsp,stream,Java,Ajax,Jsp,Stream,我的代码来自服务器jsp,我正在访问客户端机器中的另一个jsp,这是客户端机器和服务器之间的完美通信,在我的办公网络中没有任何问题。但是当我的服务器jsp在办公室外(另一个网络)并且客户端机器在我的网络中时,我在服务器日志中得到连接超时异常。 当我通过ajax调用连接到客户机时,我能够从客户机得到响应。我的代码如下。有人能澄清这个问题吗 服务器jsp中的java代码: URL jspUrl = new URL("...../Test.jsp"); URLConnection se

我的代码来自服务器jsp,我正在访问客户端机器中的另一个jsp,这是客户端机器和服务器之间的完美通信,在我的办公网络中没有任何问题。但是当我的服务器jsp在办公室外(另一个网络)并且客户端机器在我的网络中时,我在服务器日志中得到连接超时异常。 当我通过ajax调用连接到客户机时,我能够从客户机得到响应。我的代码如下。有人能澄清这个问题吗

服务器jsp中的java代码:

    URL jspUrl = new URL("...../Test.jsp");
    URLConnection servletConnection = jspUrl.openConnection();
    servletConnection.setDoOutput(true);
    servletConnection.setDoInput(true);
    servletConnection.setUseCaches(true);
    servletConnection.setDefaultUseCaches(true);
    servletConnection.setRequestProperty("Content-Type", "application/x-java-serialized-object");
    OutputStream outputStream = servletConnection.getOutputStream();
    ObjectOutputStream outputToServlet = new ObjectOutputStream(outputStream);
    outputToServlet.writeObject(object);
    outputToServlet.flush();

    InputStream inputStream = servletConnection.getInputStream();
    ObjectInputStream outputFromServlet = new ObjectInputStream(inputStream);
    readObject = outputFromServlet.readObject();
    outputFromServlet.close();
    outputToServlet.close();
服务器jsp中正在工作的ajax代码:

       function callAjax
        {
          if(window.XMLHttpRequest)
            {
                reqObj=new XMLHttpRequest();
            }
            else 
            {
                reqObj=new ActiveXObject("Microsoft.XMLHTTP");
            }
            reqObj.onreadystatechange=processfunction;
            reqObj.open("POST","./jspName.jsp?"+Id,false);
            reqObj.send(null);
         }
    function processfunction()
    {
        try
        {
            if(reqObj.readyState==4)
            {
                if(reqObj.status == 200)
                {
                    var responseString = reqObj.responseText;

                }
            }
        }
        catch(e)
        {
            //alert(e);
        }

    }   

首先,确保您已连接到Internet。然后将连接时间更改为零,即infinte:

servletConnection.setConnectTimeout(0);

//Set read time out to zero if required
servletConnection.setReadTimeout(0);

首先,确保您已连接到Internet。然后将连接时间更改为零,即infinte:

servletConnection.setConnectTimeout(0);

//Set read time out to zero if required
servletConnection.setReadTimeout(0);
可能的重复可能的重复