Software Technik
            HTWG Konstanz




                                 HTTP und
              Java Servlet Programmierung




                            Christian Baranowski
Requirement Analysis          Wasserfallmodell

              System Design



                          Coding



                                   Testing



                                             Delivery
Wiederholung
Build Prozess / Erstellungsprozess
Build Prozess / Erstellungsprozess

„Build Prozess - bezeichnet in der Programmierung
einen Vorgang, durch den ein fertiges
Anwendungsprogramm automatisch erzeugt wird.“
- Wikipedia
Build-Prozess
Welche Vorteile bietet ein automatisierter
Build-Prozess?
Allgemeiner Build-Prozess
clean      generate code

                    compile

                      compile tests

                                run tests


                                      package

                                            generate reports
HTTP
Hypertext Transfer Protocol
HTTP
Das HTTP Protokoll wird durch RFC-2616
(HTTP/1.1) und RFC-1945 (HTTP/ 1.0)
beschrieben.
Was ist ein RFC?

RFC = Requests for Comments


Eine Bezeichnung für eine Aufforderung zum
Kommentieren eines Vorschlags; bezeichnet oft
eine Reihe von technischen und
organisatorischen Dokumenten zum Internet
Wichtige RFCs
RFC 1 (erste RFC von Steve Crocker)
RFC 791 (IP)
RFC 793 (TCP)
RFC 821 (SMTP)
RFC 1939 (POP3)
RFC 2663 (NAT)
RFC 3501 (IMAP Version 4 Protocol Specification)
....
HTTP (Hypertext Transfer Protocol)

HTTP im TCP/IP‑Protokollstapel

   Anwendung                         HTTP


    Transport                         TCP


     Internet                    IP (IPv4, IPv6)


   Netzzugang       Ethernet        Token Ring     ...
HTTP Protokoll Aufbau

                        Nachricht
                         Header

                          Body
          Request
HTTP                                 HTTP
Client                               Server

              Header      Response

              Body
            Nachricht
HTTP Funktionsweise
Request
GET / HTTP/1.1
HOST: www.spiegel.de

Antwort
HTTP/1.0 200 OK
Content-Type: text/html;charset=ISO-8859-1
Connection: close


Inhalt <HTML>...
HTTP-Request Methoden
•   GET
    •   Anfordern einer Resource vom Server. Beispielsweise Abfragen einer HTML Datei.

•   POST
    •   schickt unbegrenzte, Mengen an Daten zum verarbeiten an einen HTTP Server.

•   PUT
    •   dient dazu eine Ressource auf einen Webserver zu laden (anzulegen).

•   DELETE
    •   löscht die angegebene Ressource auf dem Server.

•   TRACE
    •   liefert die Anfrage so zurück, wie sie empfangen wurde.

•   OPTIONS
    •   liefert eine Liste der vom Server unterstützen Methoden und Features.
HTTP-Statuscodes
                            Die Bearbeitung der Anfrage dauert trotz der
Informationen     1xx                 Rückmeldung noch an.

                        Die Anfrage wurde bearbeitet und die Antwort wird an
 Erfolgreich      2xx             den Anfragesteller zurückgesendet.


 Umleitung        3xx    Weitere Schritte seitens des Clients sind erforderlich



Client-Fehler     4xx       Fehler im Verantwortungsbereich des Clients.



Server-Fehler     5xx       Fehler im Verantwortungsbereich des Servers
HTTP und
Java Servlets
Umsetzung und Coding
            Java Servlets Programmierung
Java Servlet Programmierung




 HTTP POST /                     HTTP
 Action                          Response


       javax.servlet.http.HttpServlet
Java Servlet Programmierung




Quelle Wikipedia
Übungen I
•Erstellen Sie ein Servlet um eine Aufgabe
 anzulegen via HTTP GET.

•Erstellen Sie ein Servlet um eine Aufgabe
 anzulegen via HTTP POST.

HTTP und Java Servlets Programmierung

  • 1.
    Software Technik HTWG Konstanz HTTP und Java Servlet Programmierung Christian Baranowski
  • 2.
    Requirement Analysis Wasserfallmodell System Design Coding Testing Delivery
  • 3.
    Wiederholung Build Prozess /Erstellungsprozess
  • 4.
    Build Prozess /Erstellungsprozess „Build Prozess - bezeichnet in der Programmierung einen Vorgang, durch den ein fertiges Anwendungsprogramm automatisch erzeugt wird.“ - Wikipedia
  • 5.
    Build-Prozess Welche Vorteile bietetein automatisierter Build-Prozess?
  • 6.
    Allgemeiner Build-Prozess clean generate code compile compile tests run tests package generate reports
  • 7.
  • 8.
    HTTP Das HTTP Protokollwird durch RFC-2616 (HTTP/1.1) und RFC-1945 (HTTP/ 1.0) beschrieben.
  • 9.
    Was ist einRFC? RFC = Requests for Comments Eine Bezeichnung für eine Aufforderung zum Kommentieren eines Vorschlags; bezeichnet oft eine Reihe von technischen und organisatorischen Dokumenten zum Internet
  • 10.
    Wichtige RFCs RFC 1(erste RFC von Steve Crocker) RFC 791 (IP) RFC 793 (TCP) RFC 821 (SMTP) RFC 1939 (POP3) RFC 2663 (NAT) RFC 3501 (IMAP Version 4 Protocol Specification) ....
  • 11.
    HTTP (Hypertext TransferProtocol) HTTP im TCP/IP‑Protokollstapel Anwendung HTTP Transport TCP Internet IP (IPv4, IPv6) Netzzugang Ethernet Token Ring ...
  • 12.
    HTTP Protokoll Aufbau Nachricht Header Body Request HTTP HTTP Client Server Header Response Body Nachricht
  • 13.
    HTTP Funktionsweise Request GET /HTTP/1.1 HOST: www.spiegel.de Antwort HTTP/1.0 200 OK Content-Type: text/html;charset=ISO-8859-1 Connection: close Inhalt <HTML>...
  • 14.
    HTTP-Request Methoden • GET • Anfordern einer Resource vom Server. Beispielsweise Abfragen einer HTML Datei. • POST • schickt unbegrenzte, Mengen an Daten zum verarbeiten an einen HTTP Server. • PUT • dient dazu eine Ressource auf einen Webserver zu laden (anzulegen). • DELETE • löscht die angegebene Ressource auf dem Server. • TRACE • liefert die Anfrage so zurück, wie sie empfangen wurde. • OPTIONS • liefert eine Liste der vom Server unterstützen Methoden und Features.
  • 15.
    HTTP-Statuscodes Die Bearbeitung der Anfrage dauert trotz der Informationen 1xx Rückmeldung noch an. Die Anfrage wurde bearbeitet und die Antwort wird an Erfolgreich 2xx den Anfragesteller zurückgesendet. Umleitung 3xx Weitere Schritte seitens des Clients sind erforderlich Client-Fehler 4xx Fehler im Verantwortungsbereich des Clients. Server-Fehler 5xx Fehler im Verantwortungsbereich des Servers
  • 16.
  • 17.
    Umsetzung und Coding Java Servlets Programmierung
  • 18.
    Java Servlet Programmierung HTTP POST / HTTP Action Response javax.servlet.http.HttpServlet
  • 19.
  • 20.
    Übungen I •Erstellen Sieein Servlet um eine Aufgabe anzulegen via HTTP GET. •Erstellen Sie ein Servlet um eine Aufgabe anzulegen via HTTP POST.