F
fig0
Gast
Hi,
also ich habe bisher mit Servlets nicht gearbeitet und habe ich heute mal eingelesen, allerdings komme ich nicht wirklich vorran, vielleicht könntet ihr mir ja weiterhelfen.
ich möchte folgendes realisieren:
Im applet wird auf die Datenbank zugegriffen, dazu soll eine Anfrage an ein Servlet geschickt werden, welches dann die Abfrage durchführt und das Ergebnis wieder an das Applet zurückgibt. Die Sql Abfrage und andere Parameter will ich dem Servlet als Objekt übergeben.
Also bisher habe ich (ein erster versuch) die Klasse für das Servlet geschrieben, das sieht bisher so aus:
Wie gesagt bin ich mir nicht sicher ob das so funktioniert. Der Grundgedanke ist eben, dass ich im apllet das Sql schreibe und es dann in so ein SqlRequest reinhänge, da definiere ich auch ob ich einen Rückgabewert haben möchte oder nicht, dementsprechend führe ich dann das sql aus. Das ist aber nicht das eigentliche Verständnisproblem.
Das eigentliche Problem ist folgendes: Wie ist nun der aufruf auf seite des Applets um ein solches Objekt zu übergeben und wie verarbeite ich dann auf der Appletseite das ergebnis, also wie bekomme ich da wieder das objekt?
wäre wirklich nett wenn mir das jemand kurz erklären könnte, stehe grade irgendwie ziemlich auf dem schlauch!
danke schonmal
bye
also ich habe bisher mit Servlets nicht gearbeitet und habe ich heute mal eingelesen, allerdings komme ich nicht wirklich vorran, vielleicht könntet ihr mir ja weiterhelfen.
ich möchte folgendes realisieren:
Im applet wird auf die Datenbank zugegriffen, dazu soll eine Anfrage an ein Servlet geschickt werden, welches dann die Abfrage durchführt und das Ergebnis wieder an das Applet zurückgibt. Die Sql Abfrage und andere Parameter will ich dem Servlet als Objekt übergeben.
Also bisher habe ich (ein erster versuch) die Klasse für das Servlet geschrieben, das sieht bisher so aus:
Code:
public class Request extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
ObjectInputStream objin = new ObjectInputStream(req.getInputStream());
String sql = null;
try {
SqlRequest sqlReq = (SqlRequest) objin.readObject();
sql = sqlReq.getSql();
String driver = "org.gjt.mm.mysql.Driver";
String dbUrl = "jdbc:mysql://127.0.0.1/test";
try {
Class.forName(driver).newInstance();
Connection conn = DriverManager
.getConnection(dbUrl, "test", "");
Statement stmt = conn.createStatement();
if (sqlReq.hasReturnValue()) {
ResultSet rs = stmt.executeQuery(sql);
sqlReq.setResult(rs);
} else {
stmt.executeUpdate(sql);
}
stmt.close();
conn.close();
ObjectOutputStream out = new ObjectOutputStream(res
.getOutputStream());
out.writeObject(sqlReq);
out.flush();
out.close();
} catch (Exception ex) {
// todo: handling...
}
} catch (Exception ex) {
ObjectOutputStream out = new ObjectOutputStream(res
.getOutputStream());
out.writeObject(ex);
out.flush();
out.close();
}
}
}
Wie gesagt bin ich mir nicht sicher ob das so funktioniert. Der Grundgedanke ist eben, dass ich im apllet das Sql schreibe und es dann in so ein SqlRequest reinhänge, da definiere ich auch ob ich einen Rückgabewert haben möchte oder nicht, dementsprechend führe ich dann das sql aus. Das ist aber nicht das eigentliche Verständnisproblem.
Das eigentliche Problem ist folgendes: Wie ist nun der aufruf auf seite des Applets um ein solches Objekt zu übergeben und wie verarbeite ich dann auf der Appletseite das ergebnis, also wie bekomme ich da wieder das objekt?
wäre wirklich nett wenn mir das jemand kurz erklären könnte, stehe grade irgendwie ziemlich auf dem schlauch!
danke schonmal
bye