IUBH IPWA01 Zusammenfassung


P. H.
Diese Lernkarten bieten einen umfassenden Überblick über die Programmierung von Webanwendungsoberflächen auf Universitätsniveau. Sie behandeln zentrale Themen wie Java, HTML, JSF und Servlets, wobei der Fokus auf Komponenten, Architektur und der Interaktion zwischen Client und Server liegt. Besonders nützlich für Studierende und Entwickler, die sich mit der Erstellung dynamischer Webanwendungen und der Implementierung von Managed Beans, Expression Language und der MVC-Architektur vertraut machen möchten.
Flashcards
44
Students
3
Language
German
Category
Computer Science
Level
University
Created / Updated
24.02.2017 / 13.03.2021

Flashcards

Nachteile von Software mit einfacher Struktur?

  • Keine klare Aufgabenverteillung
  • Bei Änderugen muss immer die ganze Software ersetzt werden
  • Hohe Wartungskosten

Arten von Softwarearchitekturen?

  • Software mit einfacher Struktur
  • 3-Schichten-Architektur
  • Client/Server-Architektur

Wie kommunizieren Clients mit dem Server?

Z.b. über das Internet

Komponenten der 3-Schichten-Architektur?

  • Darstellungsschicht
  • Logikschicht
  • Datenhaltungsschicht

Kommunikation nur mit der benachbarten Schicht!

Vorteile der 3-Schichten-Architektur und der Client/Server-Architektur?

  • Einzelne Teile austauschbar
  • Geringere Wartungskosten
  • Trennung nach Aufgaben
  • Software auf mehrere Geräte vereilt (Cient, Server)

Aufgaben der Darstellungsschicht?

  • Enthält Komponenten zur visuellen Repräsentation
  • Nimmt Benutzereingaben entgegen

Aufgaben der Logikschicht?

  • Durchführung der Geschäftsprozesse (Bstellung eines Artikels)

Aufgaben der Datenhaltungsschicht?

  • Erzeugen,Laden,Aktualisieren und Löschen von Datensätzen

Nachteile der Client/Server-Architektur?

Fällt der Server aus, ist der Zenrale Zugang für alle Clients weg

Fat Client vs. Thin Client

  • Bei einem Fat Client ist die Darstellungsschicht und die Logikschicht auf der Client Seite
  • Bei einem Thin Client nur die Darstellungsschicht

Was ist die MVC-Architektur?

Model-View-Control-Architektur

Der Benutzer interagiert mit der View(Darstellungsschicht), die angezeigten Daten kann die View direkt aus dem Model abfragen(das geht in der 3S-Architektur nicht)

Ändert der Benutzer Daten, wird der Controller informiert. Er ist verantwortlich für das Verhalten der Anwendung, er verararbeitet die Eingaben und prüft diese. Desweiteren kann er die View damit beauftragen Meldungen anzuzeigen. Für die Navigation ist er auch verantwortlich.

Java SE vs Java EE

  • Die Java Enterprise Edition stellt Bibliotheken zur Entwicklung von Web-Anwendungen bereit.
  • Ergänzt Java SE (Klassenbibliotheken, JVM, Compiler, Tools) um weitere Klassenbibliotheken und einen Aplication Server
  • Nach MVC aufgebaut

Was sind Java Server Faces (JSF)?

  • In Java EE entahltenes Framework zur Erzeugung dynamischer HTML-Seiten (Die View)

Was sind Beans?

  • Sind das Datenmodell einer Webanwendung (Model)

Was ist ein Servlet?

  • Der Controller im Aplication Server (MVC nur Controller)

Was sind statische Webseiten?

Webseiten die in einer HTML verfasst sind

Womit beginnen HTML / XHTML Seiten?

Dokumententyp-Deklaration

Warum benutzt man CSS?

  • Um den Inhalt (HTML) von der Darstellung (CSS) zu trennen
  • Der gleich Inhalt kann auf verschiedenen Geräten anders dargestellt werden (Verschiedene Größen)
  • Getrennte Entwicklung von Inhalt und Darstellung

Wie bindet man CSS in HTML ein?

<head>

<link rel="stylesheet" type="text/css" href="style.css"/>

</head>

CSS ID Selektor vs CLASS Selektor

  • Der ID Selektor gilt für einzelne HTML Elemente (p#fussnote)
  • Der CLASS Selektor gilt für eine Gruppe (td.spalte2)

Was ist XML?

Eine standardisierte Sprache zur Speicherung strukturierter Daten in Textdatein 

Regeln in einer XML Datei?

  • Es gibt keine Regel für die Schachtelung
  • Es können mit XSD Datein welche definiert werden
  • Eine XML ist wohlgeformt wenn alle Syntax-Regeln eingehalten werden (Ein Wurzel-Element, Alle Tags geschlossen)
  • Eine XML ist gültig wenn sie wohlgeformt ist und alle definierten Regeln eingehalten weden

XML Typen?

  • Einfache Elemente (<bla>1231</bla>)
  • Strukturierte Elemente
    • <bla>
      • <blub>123</blub>
      • <blubblub>4343</blubblub>
    • </bla>
  • Leere Elemente (<br/>)

Attribute in einer XML?

Es können beliebig viele existieren

<bla attribut1="dsdsd" attribut2="fsfsssfs">

...

...

</bla>

Was ist ein Java-Servlet?

  • Ein in Java geschriebenes Programm, das auf einem Server läuft und HTML Code erzeugt
  • Nicht direkt über URL erreichbar

Was ist ein Servlet Container?

  • Eine Komponente der Java EE Web-Architektur
  • Ist über eine URL erreichbar
  • Gibt ein Servlet auf eine HTTP Anfrage zurück

Was sind Java Server Pages?

  • Technologie der Java EE Architektur
  • Einbinden von Java Code in HTML über JSP-Tags
  • Generiert dynamische Webseiten

Was ist AJAX?

  • Asynchronous Javascript and XML
  • Technologie die es ermöglicht, nur bestimmte Teile eine Website neu zu laden

Was ist Javascript?

  • Scriptsprache mit eine Java ähnlichen Syntax
  • Zur Programmierung dynamischer Websites
  • Kann in HTML eingebunden werden

Was ist DOM?

  • Programmierschnittstelle mit der die baumartige Strukur einer HTML Seite ausgelesen und manipuliert werden kann

Was ist JavaServer Faces?

Modernes Framework zur Ertstellung von Java Webanwendungen

Was ist der JSF Lebenszyklus?

HTTP Anfrage ->

Komponentenbaum aufbauen -> Benutzereingaben uas HTTP-Anfrage auslesen -> Validierung der Benutzereingaben -> Datenmodell atualisieren -> Zusätzliche Methoden aufrufen -> HTML-Seite generieren

-> HTTP Antwort

JSF Komponenten vs HTML

JSF Komponenten beginnen mit einem Präfix:

aus <head> </head> wird <h:head></h:head>

Unified Expression Language?

Ausdrücke formulieren, die JSF mit Java verknüpfen

Managed Beans?

Java Klassen die durch JSF erzeugt werden und mit JSF Komponenten verknüpft werden können

Gültigkeitsbereich einer ManagedBean?

@NoneScoped -> wird nach dem erstellen wieder gelöscht, wenn sie nicht benutzt wird.

@RequestScoped -> Wird nach der HTTP-Anfrage wieder gelöscht.

@ViewScoped -> Wird erst gelöscht wenn zu einer anderen Seite navigiert wird

@SessionScoped -> Wird gelöscht wenn die Sitzung beendet wird (Timeout)

@ApplicationSoped -> Bean wird mit Start des Servers erstellt und nie gelöscht.

Zugriff auf ManagedBeans, auf welche Konventionen muss man achten?

  • Objektbezeichner hat den gleichen Namen wie die Klasse, allerdings klein geschrieben
  • Die Attribute sind private, klein geschrieben und es sind getter und setter vorhanden, in folgender form
    • public getName()
    • public setName(String s)

Name für den Zugriff auf die ManagedBean ändern?

@ManagedBean(name="neuerName")

Was können h:commandLink Komponenten?

Sie müssen von einer h:form Komponente eingeschlossen sein und können Methoden von ManagedBeans aufrufen

Was ist der Unterschied zwischen Value- und Method-Expressions der Unified Expression Language ?

Value-Expression verknüpfen JSF-Komponenten zur Ein- und Ausgabe

Method-Expression verknüpfen JSF-Komponneten um Aktionen auszulösen

Study