Hallo,
also ich habe mir mit Eclipse ein kleines Prgramm geschrieben, welches einem HTML-Formular per Post-Methode Werte übergibt. Das scheint soweit auch fehlerfrei zu klappen, denn ich bekomme eine entsprechende Rückmeldung. Nun weiß ich allerdings nicht wie ich mein System dazu bringe, die übergeben Daten auch auszuwerten bzw einfach mit dem Anmeldeprozess fortzufahren. Mir fehlt sozusagen die "Enter"-Taste für mein ursprüngliches Formular um dann die nächste Seite aufzurufen. Was mache ich also.
1. http://localhost:8080/cyx-httpclienttest/ ausführen --> ruft mein servlet auf und führt folgenden code aus:
2. auf "http://localhost:8080/cyx-login/" liegt eine html und eine jsp-datei. die html enthält ein einfaches formular mit benutzername und passwort und wird (so denke ich es jedenfalls) durch mein servlet aufgerufen.
3. dann soll die jsp datei mit den vom servlet übergebenen Daten eine entsprechende Rückmeldung ausgeben (das geht auch wenn ich das Formular manuell fülle)
Was muß ich also tun, um eben meine jsp-Datei nach der PostMethode aufzurufen (also das was sonst die Enter-Taste im Formular macht)
Ich danke euch allen im Voraus.
PS: Ich weiß mein Beispiel ergibt vielleicht keinen praktischen Nutzen, es dient mir ausschließlich dazu, die Zusammenhänge zwischen Servlets, jsps, html usw. zu verstehen.
also ich habe mir mit Eclipse ein kleines Prgramm geschrieben, welches einem HTML-Formular per Post-Methode Werte übergibt. Das scheint soweit auch fehlerfrei zu klappen, denn ich bekomme eine entsprechende Rückmeldung. Nun weiß ich allerdings nicht wie ich mein System dazu bringe, die übergeben Daten auch auszuwerten bzw einfach mit dem Anmeldeprozess fortzufahren. Mir fehlt sozusagen die "Enter"-Taste für mein ursprüngliches Formular um dann die nächste Seite aufzurufen. Was mache ich also.
1. http://localhost:8080/cyx-httpclienttest/ ausführen --> ruft mein servlet auf und führt folgenden code aus:
Code:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.*;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
public class HttpClientTest extends HttpServlet
{
private static String inputurl = "http://localhost:8080/cyx-login/";
private String message = null;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException
{
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException
{
doLogin(inputurl);
PrintWriter out = response.getWriter();
out.println("<html><title>PostMethod</title><body>");
out.println("
Status: "+message+"</p>");
out.println("</body></html>");
}
private void doLogin(String loginurl)
{
try
{
// Verbindung herstellen (Timeout 5s) //
HttpClient httpclient = new HttpClient();
httpclient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
// Per Post Daten übergeben //
PostMethod postmethod = new PostMethod( inputurl );
NameValuePair[] inputdata =
{
new NameValuePair("name", "java"),
new NameValuePair("pswd", "forum")
};
postmethod.setRequestBody( inputdata );
httpclient.executeMethod( postmethod );
postmethod.releaseConnection();
message = "PostMethod OK.";
}
catch (IOException e)
{
message = "PostMethod failed."; // TODO: Fehlerbehandlung
}
}
}
2. auf "http://localhost:8080/cyx-login/" liegt eine html und eine jsp-datei. die html enthält ein einfaches formular mit benutzername und passwort und wird (so denke ich es jedenfalls) durch mein servlet aufgerufen.
3. dann soll die jsp datei mit den vom servlet übergebenen Daten eine entsprechende Rückmeldung ausgeben (das geht auch wenn ich das Formular manuell fülle)
Was muß ich also tun, um eben meine jsp-Datei nach der PostMethode aufzurufen (also das was sonst die Enter-Taste im Formular macht)
Ich danke euch allen im Voraus.
PS: Ich weiß mein Beispiel ergibt vielleicht keinen praktischen Nutzen, es dient mir ausschließlich dazu, die Zusammenhänge zwischen Servlets, jsps, html usw. zu verstehen.