systementwicklungsprojekt: implementierung eines generators für web-formulare aufgabensteller :...
TRANSCRIPT
Systementwicklungsprojekt:
Implementierung eines Generators für Web-Formulare
Aufgabensteller : Prof. Eickel
Betreuer : Aurel HuberBearbeiter : Anis Charfi
16.11.2000 Anis Charfi - EJB 2
Aufgabenstellung
Erstellung eines Generators, der aus einer abstrakten Spezifikation eines Datentyps(cl file ) eine Java Servlet Applikation(Java Server Pages ) generiert
Ein Server verwaltet die Dokumente(persistent
gespeichert : XML ) und stellt Clients Web-Formulare zur Verfügung, zum Editieren der Dokumente .
16.11.2000 Anis Charfi - EJB 3
Servlets & Java Server Pages
Servlets: Java Technologie für CGI-Programmierung Programme die in einem Webserver laufen und HTML Seiten dynamisch generieren
JSP ist die neuste Technologie zur dynamischen Generierung von HTML-Seiten
JSP ist eine Mischung aus HTML und JAVA Code Eine JSP Seite wird von einem JSP-Engine (Tomcat) in
einem Servlet übersetzt und geladen
16.11.2000 Anis Charfi - EJB 4
JSP: Ein Beispiel
<HTML> <HEAD> <TITLE>Welcome to OurStore</TITLE></HEAD> <BODY> <H1>Welcome to Our Store</H1> Welcome, <!-- User name is "New User" for first-time visitors --
> <% out.println(Utils.getUserNameFromCookie(request));
%> To access your account settings, click <A HREF="Account-Settings.html">here.</A></BODY></HTML>
16.11.2000 Anis Charfi - EJB 5
Realisierung:
Spezifikation eines Datentyps mittels einer festgelegten kontextfreien Grammatik :
// mailsystem.clMailSystem::=Mail*:IncomingMail Mail*:OutGoingMailMail::=String:Sender String:Receiver String:Subject Text:Body
Generierung eines HTML-Formular für diesen Datentyp -> Mail.htm
Generierung der Klasse -> MailSystem.java Generierung eines Servers (eine Java Server Page ) -> MailSystem.jsp ,der die folgenden Operationen
implementiert: Add , Edit , delete
16.11.2000 Anis Charfi - EJB 6
Implementierung : Mail.jsp
<%@ page import="mail.*" %>
<jsp:useBean id="mailServ" scope="session" class="mail.MailSys" />
<html><body bgcolor="white">
<%! int editIndex; Mail toEdit ; %>
<% op = request.getParameter("operation");
if(op.equals("Add")){ //Code für Add
}else if(op.equals("Edit")){ //generate the form
out.println("<FORM METHOD=POST ACTION=mail.jsp>Sender");
out.println("<input type=text value=toEdit.getSender()+ Receiver“);
...
out.println("<input type=submit name=operation value=OK>“);
out.println("</FORM></BODY></HTML>");
} %>
<%@ include file="makelists.jsp"%></body></html>
16.11.2000 Anis Charfi - EJB 7
Implementierung :Makelist.jsp
<h3>--Incoming Mail--</h3><form ACTION="mail.jsp" METHOD=post><ul><% for (int i = 0; i < mailServ.in_list.size(); i++){
out.println("<input type=radio name=mailIndex value="+i+">"); out.println (" Sender :" + mailServ.in_list.elementAt(i).getSender()); // same Code for receiver , subject and body
} %></ul><input type=submit name="operation" value="Add"><input type=submit name="operation" value="Delete"><input type=submit name=operation value=Edit></form>
16.11.2000 Anis Charfi - EJB 8
Ausblick
Implementierung von Beispielen, die Tupel, Alternativen und Listen enthalten. Dies Bespiele dienen als Basis für Entwicklung des Formgenerators Persistene Speicherung der Daten(XML) jetzt mithilfe der Serialisierung realisiert .