Hallo Leute,
ich habe ein Servlet, das eine etwas längere Anfrage an einem Server durchführt und dann ein Resultat in Form eines Strings zurückbekommt (Ist eine HTML Seite, die dann angezeigt werden soll).
Mein Problem ist nun, das ich in der Zwischenzeit etwas anzeigen möchte in Form von "Bitte warten Sie".
Ich habe schon versucht 2x zu flushen, nur bleibt leider dann die Meldung "Bitte warten Sie" noch in der Resultat Seite bestehen.
Weiß zufällig jemand wie man das lösen könnte?
Nachfolgend der Code von meinen jetztigen Servlet. Ich flush im Moment nur 1x, so dass keine "Bitte warten Sie" - Meldung angezeigt wird.
Vielen Dank schonmal!
ich habe ein Servlet, das eine etwas längere Anfrage an einem Server durchführt und dann ein Resultat in Form eines Strings zurückbekommt (Ist eine HTML Seite, die dann angezeigt werden soll).
Mein Problem ist nun, das ich in der Zwischenzeit etwas anzeigen möchte in Form von "Bitte warten Sie".
Ich habe schon versucht 2x zu flushen, nur bleibt leider dann die Meldung "Bitte warten Sie" noch in der Resultat Seite bestehen.
Weiß zufällig jemand wie man das lösen könnte?
Nachfolgend der Code von meinen jetztigen Servlet. Ich flush im Moment nur 1x, so dass keine "Bitte warten Sie" - Meldung angezeigt wird.
Vielen Dank schonmal!
Code:
package de.userinterface.httpclient;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
/**
* Dieses Servlet dient dazu einen Postrequest an des DBSModellServlet zu senden, um die Daten der Nutzergruppe LAY zum Modell zu übertragen.
*
*/
public class ClientPostServlet extends HttpServlet
{
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException
{
HttpClient httpClient = new HttpClient();
//Url für den PostRequest setzen (kommt aus LoginWorkflow.xml Datei bei SCIENTIST)
String url = String.valueOf(request.getAttribute("viewUri"));
PostMethod postMethod = new PostMethod
(
url
);
//Attribute aus dem Request rausholen und als NameValuePair für den späteren Post Request setzen
ArrayList<NameValuePair> postData = new ArrayList<NameValuePair>();
Enumeration requestAttributeNames = request.getAttributeNames();
while (requestAttributeNames.hasMoreElements())
{
String requestAttributeName = (String) requestAttributeNames.nextElement();
String attribut = String.valueOf(request.getAttribute(requestAttributeName));
postData.add(new NameValuePair(requestAttributeName, attribut));
//Attribute sicherheitshalber aus dem Request entfernen
request.removeAttribute(requestAttributeName);
}
//ArrayList in Array übertragen
NameValuePair[] postDataArray = new NameValuePair[postData.size()];
for (int i = 0; i < postDataArray.length; i++)
{
postDataArray[i] = postData.get(i);
}
//the 2.0 beta1 version has a PostMethod.setRequestBody(NameValuePair[])
//method, as addParameters is deprecated
//postMethod.addParameters(postDataArray);
//Attribute in den Post Request setzen
postMethod.setRequestBody(postDataArray);
//Post Request senden
httpClient.executeMethod(postMethod);
//Ergebnis verarbeiten
BufferedReader in = new BufferedReader(new InputStreamReader(postMethod.getResponseBodyAsStream()));
String zeile = "";
StringBuffer ergebnis = new StringBuffer();
while ((zeile = in.readLine()) != null)
{
ergebnis.append(zeile);
}
//release the connection used by the method
postMethod.releaseConnection();
//String Buffer in String umwandeln
String ergebnisString = ergebnis.toString();
//css-Datei Position verändern
ergebnisString = ergebnisString.replaceFirst("AnzeigeModell/css/layout.css", "../css/layout.css");
//display the response to the POST method
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print(ergebnisString);
out.flush();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException {
doPost(request,response);
}
}