java - 使用 URLConnection 访问时连接超时

标签 java ajax jsp stream

我的代码来自服务器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);
        }

    }   

最佳答案

首先,请确保您已连接到互联网。然后将连接时间更改为零,即无限:

servletConnection.setConnectTimeout(0);

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

关于java - 使用 URLConnection 访问时连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36741705/

相关文章:

java - m2eclipse maven 构建参数

带有数组的 Java 方法

Java Restful Web 服务器。发送 Excel 工作表作为响应,其中包含 2 个附加变量

html - 条件 css 样式未应用于在 ie7 上通过 ajax 加载的内容

java - JSP/JSTL 使用或不使用 <c :out> tags

javascript - 如何去除突出显示的词?

java - 类所在的目录与包指定的目录不同——怎么会这样?

javascript - 在不使用 javascript 重定向的情况下更改 url

jquery - 我如何通过ajax json tomcat从本地主机连接到另一台服务器

java - 如何在我的 jsp 页面中以弹出警报的形式显示错误消息