Mein Code stammt vom Server jsp, der auf ein anderes JSP zugreift, das sich auf dem Clientcomputer befindet und einwandfrei mit Clientcomputer und Server in meinem Büronetzwerk kommuniziert. Aber der gleiche Code, wenn mein Server jsp in einem externen Büro (ein anderes Netzwerk) und Client-Computer in meinem Netzwerk ist, bekomme Verbindung Ausnahmefehler in Server-Logs. Und wenn ich mit dem Client-Rechner durch Ajax Anruf verbinden, kann ich Antwortformular client.my Code erhalten unten ist.Verbindungstimeout beim Zugriff auf JSP mit URLConnection
Java-Code in Server 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 Code in Server jsp, die funktioniert:
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);
}
}
Es ist keine Überraschung, Sie wissen bereits, warum es passiert, beide Maschinen sind in verschiedenen getrennten Netzwerken, wie Sie gesagt haben. – 11thdimension
Aber kann ich mit Ajax Anruf richtig verbinden? Wenn der Fall ist, was Sie sagten, dann sollte es nicht mit Ajax auch funktionieren. –
In Ihrem Beitrag haben Sie gesagt, dass Sie in der Lage sind, die Verbindung zu machen, wenn Server und Client in Ihrem Büro sind und nicht wenn Server außerhalb des Büros geht , können Sie den Ajax-Anruf tätigen, wenn sich der Server außerhalb des Büros befindet? – 11thdimension