News Java News & Music Projektteam Fabian Taubitz, Rafael Mann, Wolfgang Höft Projekt...
-
Upload
ivo-wuesthoff -
Category
Documents
-
view
108 -
download
2
Transcript of News Java News & Music Projektteam Fabian Taubitz, Rafael Mann, Wolfgang Höft Projekt...
NewsNews
Java News & MusicJava News & Music
ProjektteamProjektteam
Fabian Taubitz , Rafael Mann , Wolfgang HöftFabian Taubitz , Rafael Mann , Wolfgang Höft
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie11
GliederungGliederung
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie22
1.)1.) EinleitungEinleitung2.)2.) Grundlagen JSPGrundlagen JSP3.)3.) Erste Schritte und AnfangsentwürfeErste Schritte und Anfangsentwürfe4.)4.) UML, QuellcodeUML, Quellcode5.)5.) Emotion IconsEmotion Icons6.)6.) Einbau der Software in das fertige LayoutEinbau der Software in das fertige Layout7.)7.) Möglich Varianten und Ausbaustufen der SoftwareMöglich Varianten und Ausbaustufen der Software8.)8.) Probleme und LösungenProbleme und Lösungen9.) 9.) evtl. lokal live Präsentationevtl. lokal live Präsentation
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie33
ProjektgruppeProjektgruppe NewsNews
Anzeige von News mit Zeitstempel auf dem ClientAnzeige von News mit Zeitstempel auf dem Client
Ablage der News als Textdatei in einem Ablage der News als Textdatei in einem bestimmten Verzeichnis auf dem Serverbestimmten Verzeichnis auf dem Server
Auf Basis von Java Server Pages, Servlets, Auf Basis von Java Server Pages, Servlets, Java-AppletsJava-Applets
AufgabenstellungAufgabenstellung
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie44
Erweiterung derErweiterung derAufgabenstellungAufgabenstellung
Vorschaufenster zur Kontrolle
Clientseite soll sich eigenständig aktualisieren
Motivierende Features (smilies) einfach einzufügen
Der Adminmodus soll in einem eingenständigem Popup laufen
Der Zeitstempel soll einfach über eine Taste einfügbar sein
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie55
JSPs wurden von Sun Microsystems™ spezifiziert (JSP 1.1 Released 1999)
JSPs enthalten HTML, JavaScript + Java Code für die Visualisierung von dynamischen Web-Inhalten
JSPs sind plattformunabhängig und im Rahmen der Java APIs erweiterbar
JSPs werden beim ersten Aufruf in ein Servlet umgewandelt und kompiliert. Das Servlet wird von der Servlet Engine ausgeführt.
JSPs werden serverseitig ausgeführt
Java Server Pages GrundlagenJava Server Pages Grundlagen
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie66
EineEine Java Server Page Java Server Page
JSP (Java Server PagesJSP (Java Server Pages))
ist eine HTML Dateiist eine HTML Datei
in der zusätzlich Javacode stehtin der zusätzlich Javacode steht
<HTML><BODY>Hallo Nutzer. Wir haben heute<% out.print( new java.util.Date() ); %></BODY></HTML>
Beispiel :
Eine JSP braucht einen Tomcat Server Eine JSP braucht einen Tomcat Server um den Java Code um den Java Code compilierencompilieren zu können zu können
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie77
Abarbeitung von JSPAbarbeitung von JSP
WebserverWebserverHTMLHTML
TomcatTomcatServerServer
Request (xxx.JSP)
Weiterleitung
Der aktuelle Tomcat 5.x Server implement the Servlet 2.4 and JSP 2.0 specifications.
SpeicherSpeicher
Verarbeitung
Request
xxx.JSP
Response
xxx.JSP
Ergebnisder xxx.JSP
BrowserBrowserResponse xxx.JSP
Erste SchritteErste Schritte
Ein Programm wächst undEin Programm wächst undwächst und…wächst und…
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie88
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie99
Erste SchritteErste Schritte
Erstellen eines Pflichtenhefts
Was muss das fertige Programm alles können?
Einfache Bedienung durch den Administrator
Eine HTML-Datei zur Anzeige in einem Web-Browser
Muss das Erstelldatum beinhalten
Mit Emotion Icons erweiterbar
Automatische Aktualisierung der HTML Seite
Administratoransprüche
Clientansprüche
Sicherheitsaspekte
Erste SchritteErste Schritte
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie1010
Gästebuch Prinzip
Erste SchritteErste Schritte
Eingabe:
News-Center.html
news.ser
Ausgabe:
News.jsp
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie1111
Der Anfang:Erste SchritteErste Schritte
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie1212
„„1 JTextPane-Version“:1 JTextPane-Version“:
•Besitzt keine Methode „insertTextBesitzt keine Methode „insertText
•Nur Methode „setText“Nur Methode „setText“
•Aufruf von „setText“ löscht Aufruf von „setText“ löscht vorherigen Inhalt der JTextPanevorherigen Inhalt der JTextPane
Die Fortsetzung:Erste SchritteErste Schritte
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie1313
„„2 JTextPane-Version:2 JTextPane-Version:•Text wird nicht über Insert-TextText wird nicht über Insert-Text Button eingefügtButton eingefügt
•Entertaste fügt Text einEntertaste fügt Text ein
•Problem: ZeilenumbruchProblem: Zeilenumbruch wurde automatischwurde automatischeingefügteingefügt
•Gespeichertes wurdeGespeichertes wurde nicht wieder richtignicht wieder richtigangezeigtangezeigt
Erste SchritteErste Schritte
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie1414
•Für Texteingabe keine TextPaneFür Texteingabe keine TextPane sondern JTextFieldsondern JTextField
•Problem Zeilenumbruch umgangen,Problem Zeilenumbruch umgangen, da JTextField nur einzeiligda JTextField nur einzeilig
EndversionEndversion
Java News- Version 1.5Java News- Version 1.5
Das Ende:
UMLUML
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie1515
(Unified Modeling Language)(Unified Modeling Language)
•Standardisierte Notation der OMG (Object Managment Group)Standardisierte Notation der OMG (Object Managment Group)
•Semantic zur Visualisierung, Konstruktion und Dokumentation Semantic zur Visualisierung, Konstruktion und Dokumentation von Modellen für die objektorientierte Softwareentwicklungvon Modellen für die objektorientierte Softwareentwicklung
UMLUML
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie1616
KlassennameKlassenname
ParameterParameter MethodeMethode
UMLUML
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie1717
Globale VariablenGlobale Variablen
Layout VerwaltungLayout Verwaltung
MethodenMethoden
Umsetzung in Java CodeUmsetzung in Java Code
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie1818
PaketePakete
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie1919
VariablendeklarationVariablendeklaration
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie2020
VariablendeklarationVariablendeklaration (2) (2)
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie2121
Button „Absatz“Button „Absatz“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie2222
Klasse „Absatz“Klasse „Absatz“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie2323
Klasse „Reset“Klasse „Reset“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie2424
Klasse „Fett“Klasse „Fett“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie2525
Klasse „Abspeicherung“Klasse „Abspeicherung“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie2626
Klasse „Abspeicherung“Klasse „Abspeicherung“(2)(2)
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie2727
Klasse „Abspeicherung“Klasse „Abspeicherung“(3)(3)
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie2828
Klasse „Abspeicherung“Klasse „Abspeicherung“(4)(4)
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie2929
Klasse „Abspeicherung“Klasse „Abspeicherung“(5)(5)
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie3030
Beispiel: Ein- und AusgabeBeispiel: Ein- und Ausgabe
Klasse „Abspeicherung“Klasse „Abspeicherung“(6)(6)
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie3131
Klasse „Abspeicherung“Klasse „Abspeicherung“(7)(7)
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie3232
Beispiel: Dateiinhalt news.htmlBeispiel: Dateiinhalt news.html
Klasse „Abspeicherung“Klasse „Abspeicherung“(8)(8)
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie3333
Beispiel: Dateiinhalt news.txtBeispiel: Dateiinhalt news.txt
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie3434
TextPaneTextPane
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie3535
TextFieldTextField
Übernächste FolieÜbernächste Folie
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie3636
SplitPaneSplitPane
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie3737
EnterListenerEnterListener
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie3838
Smilie-Button-FertigungSmilie-Button-Fertigung
Smilie-Button-FertigungSmilie-Button-Fertigung Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie3939
Im Konstruktor:
Methode: SButtonFactory (Buttonkategorie, gridx, gridy, Anzahl der SButton im JDialog-Fenster)
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie4040
Smilie-Button-FertigungSmilie-Button-FertigungMethode SButtonFactory:
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie4141
Smilie-Button-FertigungSmilie-Button-FertigungMethode JDialogMaker:
- Erzeugt die Dialog-Fenster.
- Erstellt die gewünschte Anzahl Smilie-Buttons in den jeweiligen Fenstern.
- Ruft die Klasse SmilieListener auf.
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie4242
Smilie-Button-FertigungSmilie-Button-FertigungKlasse SmilieListener:
Das Icon wird zum Vektor hinzugefügt umspäter wieder ausgelesen werden zu können.
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie4343
Smilie-Button-FertigungSmilie-Button-Fertigung
- Ende der öden Smilie-Button-Code Erklärung
- Vorstellung der einfügbaren Smilies
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie4444
Emotion Icons „Sleepy“Emotion Icons „Sleepy“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie4545
Emotion Icons „Angry“Emotion Icons „Angry“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie4646
Emotion Icons „Shocked“Emotion Icons „Shocked“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie4747
Emotion Icons „Evil & Toungy“Emotion Icons „Evil & Toungy“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie4848
Emotion Icons „Mixed“Emotion Icons „Mixed“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie4949
Emotion Icons „Happy“Emotion Icons „Happy“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie5050
ShowHtmlShowHtml
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie5151
SetTimeSetTime
Am häufigsten verwendeter Kalender der Welt
Wert für den Wochentag wird ausgelesen,mit Hilfe der anschliessenden if-Schleife
dem richtigen Tag zugewiesen und zum Vektor addiert.
„Datums-Anfangs-Html-Tag“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie5252
SetTimeSetTime
Die Methode „TimeTags“ gibt einen Vektor mit „Positions-Integer-Objekten“ aller sich im Vektor „vec“
befindlichen „Datums-Anfangs-“ und „Datums-End-Tags“ zurück, und schreibt diesen in den Vektor „timetag2“.
Diese if-Schleife sorgt anschliessend dafür,das die „Datum-Html-Tags“ übergangen werden.
„Datums-End-Html-Tag“
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie5353
TimeTagsTimeTags
Auszug aus der „SetTime“-Klasse:
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie5454
TimeTagsTimeTagsDurch TimeTags möglich:
Html-Tags
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie5555
TimeTagsTimeTagsOhne „unwichtige“ Html-Tags Mit „unwichtigen“ Html-Tags
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie5656
InitialisierungInitialisierung
??? Wie kann das sein ?????? Wie kann das sein ???
{Leer}{Leer}
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie5757
Login und BenutzerauswahlLogin und BenutzerauswahlIndex.html
Login.jsp
News.html News15A.html
client admin
Anzeige der News mit eigenständiger Aktualisierung
Applet
J Application (JFrame)
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie5858
Login (index.html)Login (index.html)
Index.htmlIndex.html
method=„get“
method=„post“
►
►
sichtbar in URL
nicht sichtbar in URL
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie5959
LoginLoginlogin.jsplogin.jsp
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie6060
LayoutLayout
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie6161
Übergabe an das LayoutÜbergabe an das Layout
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie6262
Applets & SicherheitApplets & Sicherheit
??? Was darf eigentlich ein Applet ?????? Was darf eigentlich ein Applet ???
Probleme & LösungenProbleme & Lösungen
??? Ist ein Applet für unsere Zwecke geeignet ?????? Ist ein Applet für unsere Zwecke geeignet ???
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie6363
Applets & SicherheitApplets & SicherheitOperation Java-
ProgrammApplet im Appletviewer
Lokales Applet im Browser
Fremdes Applet im Browser
Auf lokale Dateien zugreifen X XLokale Dateien löschen XAnderes Programm starten X XBenutzernamen ermitteln X X XZum Sender des Applets verbinden
X X X X
Zu anderen Rechner verbinden
X X X
Javabibliothek laden X X XExit aufrufen X X XPopup-Fenster erzeugen X X X X
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie6464
Operation Fremdes Applet im Browser
Auf lokale Dateien zugreifen
Lokale Dateien löschen
Anderes Programm starten
Benutzernamen ermitteln
Zum Sender des Applets verbinden X
Zu anderen Rechner verbinden
Javabibliothek laden
Exit aufrufen
Popup-Fenster erzeugen X
??? Ist ein Applet für unsere Zwecke geeignet ?????? Ist ein Applet für unsere Zwecke geeignet ???
Applets & SicherheitApplets & Sicherheit
Probleme & LösungenProbleme & Lösungen
!!! Ja !!!!!! Ja !!!
Client/Server-VerbindungClient/Server-Verbindungzum Server von dem das zum Server von dem das Applet aufgerufen wurdeApplet aufgerufen wurde
QuellenangabenQuellenangaben
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie6565
•Go To Java 2, Guido Krüger Go To Java 2, Guido Krüger •Vorlesung „Software Entwicklung“,2002,Gerd ZwillusVorlesung „Software Entwicklung“,2002,Gerd Zwillus•Java ist auch eine Insel, Rainer BloomJava ist auch eine Insel, Rainer Bloom•Core Servlets und Server PagesCore Servlets und Server Pages•Java Server Pages, Addison-WesleyJava Server Pages, Addison-Wesley
•Java APIJava API
•www.mysmilies.com•www.sun.com•www.Netbeans.org
AufmerksamkeitAufmerksamkeit
Fabian Taubitz , Rafael Mann , Wolfgang Höft Projekt NewsProjekt News Datum:27.06.2003Datum:27.06.2003 Folie Folie6666
fürfür
IhreIhre
DankeDanke