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
26
Embed
Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01 Tomcat Web-Server installieren download von: .
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01
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
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
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
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
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
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
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.
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 !");
}
}
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
Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01
HTML-Form-BeispielHTML-Form-Beispiel
Input-FeldSubmit-Knopf Webseite
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
Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01
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
Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01
Ausgabe des Servlets Rechnet.classAusgabe des Servlets Rechnet.classParameter Servlet
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>");
}
}
Datenbanken 2 - Der Tomcat-Webserver und Java-Servlets - Prof. Dr. Böttcher - WS2000/01
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.
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.
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.
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)