SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Ähnlich wie HTTP und Java Servlets Programmierung

Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere RESTMartin Abraham
 
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Christian Wenz
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...OPEN KNOWLEDGE GmbH
 
Php Tutorium
Php TutoriumPhp Tutorium
Php TutoriumAVGP
 
Übersicht Skriptsprachen
Übersicht SkriptsprachenÜbersicht Skriptsprachen
Übersicht SkriptsprachenA. LE
 
REST Problems
REST ProblemsREST Problems
REST Problemspredic8
 
Einführung in die Java-Webentwicklung - Part I - Einführung, HTTP (in german)
Einführung in die Java-Webentwicklung - Part I - Einführung, HTTP (in german)Einführung in die Java-Webentwicklung - Part I - Einführung, HTTP (in german)
Einführung in die Java-Webentwicklung - Part I - Einführung, HTTP (in german)kaftanenko
 
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOPITZ CONSULTING Deutschland
 
Api Platform: the ultimate API Platform
Api Platform: the ultimate API PlatformApi Platform: the ultimate API Platform
Api Platform: the ultimate API PlatformStefan Adolf
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAsQAware GmbH
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationSamuel Zürcher
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Florian Holzhauer
 
Internet Information Services (deutsch)
Internet Information Services (deutsch)Internet Information Services (deutsch)
Internet Information Services (deutsch)Joerg Krause
 
RESTful APIs mit Dart
RESTful APIs mit DartRESTful APIs mit Dart
RESTful APIs mit DartNane Kratzke
 
node.js - Eine kurze Einführung
node.js - Eine kurze Einführungnode.js - Eine kurze Einführung
node.js - Eine kurze Einführungnodeio
 
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAXDaniel Fisher
 
Making the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICMaking the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICQAware GmbH
 

Ähnlich wie HTTP und Java Servlets Programmierung (20)

Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere REST
 
Interaktives Web
Interaktives WebInteraktives Web
Interaktives Web
 
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
 
Php Tutorium
Php TutoriumPhp Tutorium
Php Tutorium
 
Übersicht Skriptsprachen
Übersicht SkriptsprachenÜbersicht Skriptsprachen
Übersicht Skriptsprachen
 
REST Problems
REST ProblemsREST Problems
REST Problems
 
Einführung in die Java-Webentwicklung - Part I - Einführung, HTTP (in german)
Einführung in die Java-Webentwicklung - Part I - Einführung, HTTP (in german)Einführung in die Java-Webentwicklung - Part I - Einführung, HTTP (in german)
Einführung in die Java-Webentwicklung - Part I - Einführung, HTTP (in german)
 
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
 
Api Platform: the ultimate API Platform
Api Platform: the ultimate API PlatformApi Platform: the ultimate API Platform
Api Platform: the ultimate API Platform
 
Ajax, Comet & Co.
Ajax, Comet & Co.Ajax, Comet & Co.
Ajax, Comet & Co.
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012
 
Internet Information Services (deutsch)
Internet Information Services (deutsch)Internet Information Services (deutsch)
Internet Information Services (deutsch)
 
RESTful APIs mit Dart
RESTful APIs mit DartRESTful APIs mit Dart
RESTful APIs mit Dart
 
node.js - Eine kurze Einführung
node.js - Eine kurze Einführungnode.js - Eine kurze Einführung
node.js - Eine kurze Einführung
 
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
 
Making the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICMaking the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUIC
 

Mehr von Christian Baranowski

Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Christian Baranowski
 
OSGi and Spring Data for simple (Web) Application Development
OSGi and Spring Data  for simple (Web) Application DevelopmentOSGi and Spring Data  for simple (Web) Application Development
OSGi and Spring Data for simple (Web) Application DevelopmentChristian Baranowski
 
BDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
BDD - Behavior Driven Development Webapps mit Groovy Spock und GebBDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
BDD - Behavior Driven Development Webapps mit Groovy Spock und GebChristian Baranowski
 
Komponententests und Testabdeckung
Komponententests und TestabdeckungKomponententests und Testabdeckung
Komponententests und TestabdeckungChristian Baranowski
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungChristian Baranowski
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungChristian Baranowski
 
Software Testing und Qualitätssicherung
Software Testing und QualitätssicherungSoftware Testing und Qualitätssicherung
Software Testing und QualitätssicherungChristian Baranowski
 
Einführung Software Testing und Qualitätssicherung
Einführung Software Testing und QualitätssicherungEinführung Software Testing und Qualitätssicherung
Einführung Software Testing und QualitätssicherungChristian Baranowski
 

Mehr von Christian Baranowski (20)

Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
OSGi and Spring Data for simple (Web) Application Development
OSGi and Spring Data  for simple (Web) Application DevelopmentOSGi and Spring Data  for simple (Web) Application Development
OSGi and Spring Data for simple (Web) Application Development
 
BDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
BDD - Behavior Driven Development Webapps mit Groovy Spock und GebBDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
BDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
 
Komponententests und Testabdeckung
Komponententests und TestabdeckungKomponententests und Testabdeckung
Komponententests und Testabdeckung
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
 
OSGi Web Development in Action
OSGi Web Development in ActionOSGi Web Development in Action
OSGi Web Development in Action
 
Spock and Geb in Action
Spock and Geb in ActionSpock and Geb in Action
Spock and Geb in Action
 
Continuous Delivery in Action
Continuous Delivery in ActionContinuous Delivery in Action
Continuous Delivery in Action
 
Gradle and Continuous Delivery
Gradle and Continuous DeliveryGradle and Continuous Delivery
Gradle and Continuous Delivery
 
Spock and Geb
Spock and GebSpock and Geb
Spock and Geb
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic Versioning
 
OSGi Community Updates 2012
OSGi Community Updates 2012OSGi Community Updates 2012
OSGi Community Updates 2012
 
OSGi Mars World in Action
OSGi Mars World in ActionOSGi Mars World in Action
OSGi Mars World in Action
 
Warum OSGi?
Warum OSGi?Warum OSGi?
Warum OSGi?
 
Top10- Software Engineering Books
Top10- Software Engineering BooksTop10- Software Engineering Books
Top10- Software Engineering Books
 
Domain Driven Design - 10min
Domain Driven Design - 10minDomain Driven Design - 10min
Domain Driven Design - 10min
 
SDC - Einführung in Scala
SDC - Einführung in ScalaSDC - Einführung in Scala
SDC - Einführung in Scala
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software Entwicklung
 
Software Testing und Qualitätssicherung
Software Testing und QualitätssicherungSoftware Testing und Qualitätssicherung
Software Testing und Qualitätssicherung
 
Einführung Software Testing und Qualitätssicherung
Einführung Software Testing und QualitätssicherungEinführung Software Testing und Qualitätssicherung
Einführung Software Testing und Qualitätssicherung
 

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 bietet ein automatisierter Build-Prozess?
  • 6. Allgemeiner Build-Prozess clean generate code compile compile tests run tests package generate reports
  • 8. HTTP Das HTTP Protokoll wird durch RFC-2616 (HTTP/1.1) und RFC-1945 (HTTP/ 1.0) beschrieben.
  • 9. 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
  • 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 Transfer Protocol) 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
  • 17. Umsetzung und Coding Java Servlets Programmierung
  • 18. Java Servlet Programmierung HTTP POST / HTTP Action Response javax.servlet.http.HttpServlet
  • 20. Übungen I •Erstellen Sie ein Servlet um eine Aufgabe anzulegen via HTTP GET. •Erstellen Sie ein Servlet um eine Aufgabe anzulegen via HTTP POST.