1
我的代碼是從服務器jsp訪問另一個客戶端計算機上的jsp,這是客戶端計算機和服務器之間的完美通信,在我的辦公網絡中沒有任何問題。但是,當我的服務器jsp在外部辦公室(另一個網絡)和客戶端網關中的同一代碼時,服務器日誌中出現連接超時異常。 當我通過ajax調用連接到客戶端機器時,我能夠得到響應表單客戶端。我的代碼如下。可以澄清一些問題?在服務器JSP訪問使用URLConnection時連接超時
Java代碼:在服務器JSP
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();
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);
}
}
的可能的複製[連接超時而訪問使用的URLConnection JSP(https://stackoverflow.com/questions/36723057/connection-time-out-while-accessing -jsp-使用-的URLConnection) – devpuh