26
Datenbanken 2 - Der Tom cat-Webserver und Java-Se Tomcat Web-Server Tomcat Web-Server installieren installieren download von: http://www.apache.org Default-Installation vornehmen Server starten mit: C:\tomcat\bin\ startup.bat Server stoppen mit: C:\tomcat\bin\ shutdown.bat

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Embed Size (px)

Citation preview

Page 1: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Tomcat Web-Server installierenTomcat Web-Server installieren

download von: http://www.apache.org Default-Installation vornehmen Server starten mit: C:\tomcat\bin\

startup.bat Server stoppen mit: C:\tomcat\bin\

shutdown.bat

Page 2: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

HTML-Dokumente auf dem HTML-Dokumente auf dem Server speichernServer speichern Dokumente speichern in: C:\tomcat\

Webapps\Root z.B.: HTML-Dokument lokal speichern als

C:\tomcat\Webapps\Root\Start.html HTML-Dokumente ggf. editieren, z.B. mit

Netscape (Datei|Seite ändern) oder anderem Editor

Page 3: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Tomcat Web-Server zugreifenTomcat Web-Server zugreifen Im Browser Zugriff auf: http://192.168.1.113:8080/Start.html IP-Nummer eines laufenden Tomcat-Servers Default-Port: 8080 Dokumentname (z.B. Start.html) eines Dokuments im Root-

Verzeichnis C:\tomcat\Webapps\Root Zugriff auf Dokumente in Unterverzeichnissen des Root-

Verzeichnisses über Pfade, z.B. http://192.168.1.113:8080/abteilung1/Start.html

Page 4: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Übung: Übung: Web-Server starten und zugreifenWeb-Server starten und zugreifen

Starten Sie Ihren Tomcat-Server : C:\tomcat\bin\startup.bat

Speichern Sie das HTML-Dokument einstieg.html lokal als C:\tomcat\Webapps\Root\Start.html

Ergänzen Sie Ihren Namen, bauen Sie Links zu einer Seite auf einem anderen Server ein.

Laden Sie Ihre Webseite in den Netscape-Browser http://192.168.1.113:8080/Start.html

Page 5: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Überblick: Web-Server mit ServletsÜberblick: Web-Server mit Servlets

Browser auf dem Client

evtl. mit Eingaben

Web-ServerHTML-Seitenevtl. Servlets

ruft

ErzeugtHTML-

Seite

Page 6: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Servlet : erstes BeispielServlet : erstes Beispiel

Port (8080)IP-Nummerdes Web-Servers

Servlet-Verzeichnis Servlet-Name

Servlet-Ausgabe

Page 7: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Was ist ein Servlet ? Was ist ein Servlet ?

(in Java geschriebene und compilierte) Anwendung auf dem Server.

Wird vom Webserver automatisch gestartet. Erzeugt eine neue Seite für den Client. Wird auf dem Server gespeichert, z.B. in

C:\tomcat\webapps\Root\Web-Inf\classes Kann Eingaben des Benutzers in HTML-Forms

verarbeiten.

Page 8: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Servlet-Code zum ersten BeispielServlet-Code zum ersten Beispielimport java.io.*; import javax.servlet.*; import javax.servlet.http.*;

public class Servlet1 extends HttpServlet

{ public void doGet ( HttpServletRequest req ,

HttpServletResponse res )

throws ServletException, IOException

{ res.setContentType("text/html");

PrintWriter aus = res.getWriter ( );

aus.println(“Herzlich willkommen in unserem Internetshop !");

}

}

Page 9: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Übung 2: Servlet übersetzen, auf dem Übung 2: Servlet übersetzen, auf dem Web-Server ablegen und zugreifenWeb-Server ablegen und zugreifen Arbeitsverzeichnis ist:

C:\tomcat\webapps\Root\Web-inf\classes Ergänzen Sie im Programm Servlet1.java

Ihren Namen Übersetzen Sie das Programm in der DOS-Box mit:

C:\tomcat\...\classes> javac Servlet1.java Laden Sie das Servlet in den Netscape-Browser:

http://192.168.1.113:8080/servlet/Servlet1

Page 10: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

HTML-Form-BeispielHTML-Form-Beispiel

Input-FeldSubmit-Knopf Webseite

Page 11: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

HTML-FormHTML-Form

Teil eines HTML-Dokuments Kann Eingaben des Benutzers verarbeiten. Input-Felder für interaktive Eingabe des

Benutzers auf dem Client Submit-Knopf (zum abschicken des ausgefüllten

Formulars) Eingaben werden z.B. in Servlets verarbeitet

Page 12: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

HTML-Form-Code-BeispielHTML-Form-Code-Beispiel

<html> <head> <title> Hallo Kunde, bitte identifizieren !

</title> </head>

<body>

<H3>Herzlich willkommen in unserem Internetshop.

Bitte geben Sie Ihren Namen ein ! </H3>

<form method=get action="servlet/KenntKunde">

<input type=text name="anrede"> <p>

<input type=submit value="Absenden">

</form>

</body> </html>

Page 13: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Servlet-Code zum Form BeispielServlet-Code zum Form Beispielimport java.io.*; import javax.servlet.*; import javax.servlet.http.*;

public class KenntKunde extends HttpServlet

{ public void doGet ( HttpServletRequest req ,

HttpServletResponse res )

throws ServletException, IOException

{ res.setContentType("text/html");

PrintWriter aus = res.getWriter ();

String kunde = req.getParameter("anrede");

aus.println("Ihre Name ist: ");

aus.println( kunde );

}

}

Page 14: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Ausgabe des ServletsAusgabe des Servlets

Ausgabe Parameter Servlet

Page 15: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Alternative:Alternative:Servlet generiert HTML-CodeServlet generiert HTML-Code

Page 16: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Servlet generiert HTML-Code Servlet generiert HTML-Code import java.io.*; import javax.servlet.*; import javax.servlet.http.*;

public class KenntKunde2 extends HttpServlet

{ public void doGet ( HttpServletRequest req , HttpServletResponse res )

throws ServletException, IOException

{ res.setContentType("text/html"); PrintWriter aus = res.getWriter ( );

String kunde = req.getParameter("anrede");

aus.println("<HTML><HEAD><TITLE>Willkommen</TITLE></HEAD><BODY>");

aus.println("<H3>Hallo <i>" + kunde + "</i>, willkommen in unserem ...!</H3>");

aus.println("<h3>In welchem Jahr sind Sie geboren, " + kunde +" ?</h3>" );

aus.println("<form method=get action=Rechnet>");

aus.println("<input type=text name=alter><p>");

aus.println("<input type=submit value=Absenden>");

aus.println("</form></BODY></HTML>");

}

}

Page 17: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Umwandlung von Strings in ZahlenUmwandlung von Strings in Zahlen // AusnahmenAusnahmen

String s = tf.getText() ; // String s aus TextField tf einlesen

Umwandlung nach int über Klasse Integer

try{ // try-Block wird ausgeführt, bis Ausnahme auftritt // Ausnahme , falls s keine Ganzzahl enthält int intwert = Integer.valueOf( s ).intValue() ;} catch ( Exception e ) { System.out.println( “Fehler : “ + e ) ; }

Umwandlung nach double über Klasse Double

try{ // Ausnahme , falls s keine Komma-Zahl enthält double doublewert = Double.valueOf( s ).doubleValue() ;} catch ( Exception e ) { System.out.println( “Fehler : “ + e ) ; }

auffangen einer Ausnahme Ausnahme-Behandlung

Page 18: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Ausgabe des Servlets Rechnet.classAusgabe des Servlets Rechnet.classParameter Servlet

Page 19: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Java-Code des Servlets: Rechnet.javaJava-Code des Servlets: Rechnet.javaimport java.io.*; import javax.servlet.*; import javax.servlet.http.*;

public class KenntKundeundRechnet extends HttpServlet

{ public void doGet ( HttpServletRequest req , HttpServletResponse res )

throws ServletException, IOException

{ res.setContentType("text/html");

PrintWriter aus = res.getWriter ();

String geburtsjahr = req.getParameter("alter");

int alter = 2001 - new Integer(geburtsjahr).intValue();

aus.println( "<HTML><HEAD><TITLE>Berechnet Alter des Kunden" +

"</TITLE></HEAD><BODY>" );

aus.println("<H3>2001 minus " + geburtsjahr + " sind " + alter + ".</H3><P>");

aus.println("Dann sind Sie also <b>" + alter + "</b> Jahre alt " +

"- oder werden es noch in diesem Jahr </BODY></HTML>");

}

}

Page 20: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Übung: WährungsumrechnungÜbung: Währungsumrechnung

Vorher:

Nachher:

Page 21: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

HTML-Form-Passwort-BeispielHTML-Form-Passwort-Beispiel

Passwort-Felder für NICHT SICHTBARE interaktive Eingabe des Benutzers.

Page 22: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

HTML-Code zum Passwort-BeispielHTML-Code zum Passwort-Beispiel<html>

<head> <title>Hallo Kunde, Passwort bitte !</title> </head>

<body>

<H3>Herzlich willkommen in unserem Internetshop! </H3>

<p>

<form method=get action="servlet/KenntKunde2">

Benutzername: < input type=text name=“anrede“ ><p>

Passwort: < input type=password name=“code“ ><p>

< input type=submit value=“Absenden“ >

</form>

</body>

</html>

Page 23: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Servlet-Code zur Passwort-AbfrageServlet-Code zur Passwort-Abfrage

Passwort abfragen in Java ...

public void doGet ( HttpServletRequest req ,

HttpServletResponse res )

throws ServletException, IOException

{ ...

String passwort = req.getParameter(“code“);

if ( passwort.equals( “xy45!q%“ ) ) SeiteZeigen ( res ) ;

else MeldungFalschesPasswort ( res ) ;

}

Seite generieren, je nachdem, ob Passwort o.K.

Page 24: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

INPUT-Arten für HTML-Forms INPUT-Arten für HTML-Forms

Submit-Knopf zum Abschicken der Eingabe Reset-Knopf zum Zurücksetzen der Eingabe Image (wirkt wie Submit) Checkbox Radio-Button Text : Feld zur sichtbaren Eingabe von Text Passwort: Feld zur Eingabe von Passwörtern NICHT SICHTBARE Hidden-Felder für

Sitzungsinformationen.

Page 25: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

SitzungenSitzungen

Hidden-Felder werden benutzt, um Informationen von einer Seite zur nächsten zu tragen.

Alternative 1: Alle bisher ausgetauschten Daten werden im Hiddenfeld codiert.

Alternative 2: Nur eine Session-Id wird im Hiddenfeld codiert, der Rest wird serverseitig gespeichert.

Page 26: Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von:

Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01

Servlets im Vergleich zu CGIServlets im Vergleich zu CGI

CGI = Common Gateway Interface , Vorläufer von Servlets

Vorteil von CGI: beliebige Sprache auf dem Server einsetzbar

Vorteile von Servlets (Nachteile von CGI):

Servlets können Threads verwenden => Servlets sind schneller(Jeder Web-Zugriff startet CGI-Programm in einem neuen Prozeß)

Servlets sind portabel (CGI-Programme nur, falls in Java geschrieben)

Servlets sind sicher(Sicherheitsrisiken von CGI: „inkorrekte“ Benutzereingaben)