Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer



Ähnliche Dokumente
Applets I. Grundlagen der g Applet-Programmierung

Grundlagen der Programmierung APPLETS

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.

Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Online-Publishing mit HTML und CSS für Einsteigerinnen

Ab jetzt: Java ohne Kara

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Applications Applets (eingeschränkte Rechte)

Einführung in Javadoc

Java: Vererbung. Teil 3: super()

Appletprogrammierung

Herzlich willkommen im Modul Web-Engineering

Objektorientierte Programmierung

Praktikum: Einstieg: Arbeitsplatz, JCreator

Graphische Benutzungsoberflächen

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

GEONET Anleitung für Web-Autoren

Internet und WWW Übungen

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

Schritt 1 - Ein Spielfeld

Programmieren in Java

Falls Sie den Hintergrund der Website schon kennen, wählen Sie am einfachsten die gleiche Farbe in Photoshop für die Schaltfläche.

BFV Widget Kurzdokumentation

Kommunikationsnetze. 7. Das World Wide Web 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Applet Firewall und Freigabe der Objekte

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

Distributed Computing Group

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI

BFV Widgets Kurzdokumentation

Der lokale und verteilte Fall

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

Prinzipien Objektorientierter Programmierung

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

> Mozilla Firefox 3.5

Einführung in die Scriptsprache PHP

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Grundlagen von Python

Übungen zu Softwaretechnik

Autoresponder Unlimited 2.0

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Einführung in PHP. (mit Aufgaben)

GUI Programmierung mit JAVA Swing

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung

Eine Anwendung mit InstantRails 1.7

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Große Übung Praktische Informatik 1

Typumwandlungen bei Referenztypen

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

Studentische Lösung zum Übungsblatt Nr. 7

desk.modul : ABX-Lokalisierung

desk.modul : WaWi- Export

Erstellen eigener HTML Seiten auf ewon

Powermanager Server- Client- Installation

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Vorgehensweise bei der Installation Bob50SQL für einen unabhängigen PC.

Anleitung zur Installation der DataWatch Software auf einem LINUX System ohne grafische Oberfläche

Themen. Web Service - Clients. Kommunikation zw. Web Services

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Vorkurs C++ Programmierung

Java RMI Remote Method Invocation

Handout Wegweiser zur GECO Zertifizierung

Client-Server-Beziehungen

Kurzanweisung für Google Analytics

Workshop Java Webentwicklung Tapestry. Ulrich Stärk

Dokumentation FileZilla. Servermanager

Was ist das Tekla Warehouse

Kurzanleitung So geht s

Ihr CMS für die eigene Facebook Page - 1

einrichtung in den kaufmännischen Programmen der WISO Reihe

Nach der Installation kann es auch schon losgehen. Für unseren Port Scanner erstellen wir zunächst ein neues Projekt:

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Einführung Internettechnologien. - Clientseitige Programmierung -

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Datenbank-basierte Webserver

Innere Klassen in Java

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

Zugang Gibbnet / Internet unter Mac OS X

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Java Script für die Nutzung unseres Online-Bestellsystems

Verbinden. der Firma

SHAREPOINT Unterschiede zwischen SharePoint 2010 & 2013

Tagesprogramm

Java Webentwicklung (mit JSP)

Aufruf der Buchungssystems über die Homepage des TC-Bamberg

Janitos Maklerportal. Mögliche Probleme und Fragen:

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

So empfangen Sie eine verschlüsselte von Wüstenrot

Service-Handbuch. SH_Checkup_Applets.doc. Version: 1.02 Aktualisiert: durch: RLo Seite 1 von 6

Anleitung für die Formularbearbeitung

Objektorientierte Software-Entwicklung

Wie funktioniert das WWW? Sicher im WWW

Transkript:

Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer

Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität, dynamische Grafik, auch in herkömmlichen HTML-Seiten möglich Alternativen: JavaScript, JSP, Servlets, CGI, ASP,. bei Graphik: Macromedia Flash IV - 2

Interaktives, dynamisches Web Formulare Common Gateway Interface (CGI) JavaScript Active Server Pages (ASP, JSP) Java Applets Klient Formulare Java Script Applets Server CGI ASP, JSP IV - 3

Anwendungsgebiete für Applets: Animationen IV - 4

Anwendungsgebiete für Applets: Applikationen IV - 5

Anwendungsgebiete für Applets: Datenpräsentation IV - 6

Anwendungsgebiete für Applets: Visualisierungen IV - 7

Anwendungsgebiete für Applets: Komplizierte Dateneingabe IV - 8

Anwendungsgebiete für Applets: Verteilte Bearbeitung von Daten IV - 9

Anwendungsgebiete für Applets: Browsererweiterung IV - 10

Aufbau von Applets HTML-Seite Umgebung (Text, Bilder, andere Applets) Parameter Java - Teil Eine oder mehrere Klassendateien Ein Jar-Archiv Zusätzliche Dateien (Bilder, Datenbank,...) IV - 11

Einbettung in HTML-Seite... <applet code="mein.class" width=300 height=200> <param name=meinpara value="veränderbar ohne Programmänderung"> <param name=weitererpara value="unterschiedlich auf verschiedenen HTML-Seiten"> Diesen Text können Sie sehen, wenn Ihr Browser keine Applets unterstützt! </applet>... IV - 12

Attribute des Applet-Tag code width height Name der auszuführenden Klasse Breite des reservierten Bereichs Höhe des reservierten Bereichs name align codebase Name des Applets (für Inter-Applet-Kommunikation) Ausrichtung des reservierten Bereichs URL des Verzeichnisses wo die Klassen gefunden werden IV - 13

HelloWorld-Applet import java.applet.*; import java.awt.graphics; public class HelloWorld extends Applet { public void paint(graphics g) { g.drawstring("hello world!", 50, 25); } } HelloWorld IV - 14

Wichtige Applet-Methoden paint(graphics g) Zeichnet das Applet und seine Elemente init() Browser ruft init() des Applets zur Initialisierung auf start() Browser ruft start() beim Start der HTML-Seite auf stop() Browser ruft start() beim Stop der HTML-Seite auf destroy() IV - 15

SecurityManager Applets laufen in einem AppletViewer Jeder AppletViewer besitzt einen SecurityManager SecurityManager überwachen Applets und lösen gegebenenfalls eine SecurityException aus. Warum das alles? Applet darf beim Klienten nichts zerstören Und auch keine Informationen ausspionieren! IV - 16

SecurityManager Verboten: Das Laden von zusätzlichen Bibliotheken und das Ausführen von native Methoden. Dateioperationen auf dem Klientenrechner Keine Netzverbindungen außer zum Host von dem das Applet stammt. Das Starten von Programmen auf dem Klientenrechner Das Lesen von Systemeinstellungen auf dem Klientenrechner Fenster die ein Applet öffnet haben ein anderes Erscheinungsbild: IV - 17

SecurityManager Erlaubt: Netzwerkverbindung zum Host von dem das Applet stammt (z.b.: mysql-db Anbindung) Können andere HTML Seiten anzeigen. Können public Methoden von anderen Applets der gleichen HTML- Seite aufrufen. Können weiterlaufen auch wenn Seite verlassen wird. (meistens wird aber stop() aufgerufen) Für Applets die aus dem lokalen CLASSPATH kommen gelten diese Restriktionen nicht. IV - 18

"GuestBook"-Applet Layout Label("Internet GuestBook") TextField(40) TextArea(5,40) Button("Send entry") IV - 19

Applet Komponenten Initialisierung der graphischen Oberfläche (GUI) Ereignisverbindungen (z.b.: Button-Click) Kommunikation mit CGI Skript Lesen und Schreiben der Gästebucheinträge Ausgabe der CGI Ergebnisse Ausgabe der einzelnen Gästebucheinträge IV - 20

Initialisieren der GUI public void init(){ Panel ppic; Image img; img = getimage( this.getdocumentbase(), "guestbook.jpg" ); ppic = new Panel() { public void paint(graphics g) { if (img!= null) g.drawimage(img, 0,0, this); } public Dimension getpreferredsize(){ return new Dimension(250,100); } }; this.setlayout(new BorderLayout()); Label l = new Label("Internet GuestBook"); IV - 21

Verbinden von GUI Komponenten Implementierung einer speziellen Schnittstelle: class GuestBook extends Applet implements ActionListener public void actionperformed( ActionEvent ev ){ } //Reaktion auf das Ereignis Registrierung bei einer GUI-Komponente: Button b = new Button("Send"); b.addactionlistener( this ); IV - 22

Kommunikation mit CGI Skript private void loadentries( ){ String s = null; try { URL server = new URL( "http://127.0.0.1:8080/examples/servlet/storageservlet" ); InputStream in = server.openstream(); byte[] buf = new byte[3000]; int i = 0; int ch = in.read(); while (ch >= 0) { buf[ i++ ] = ( byte )ch; ch = in.read(); } s = new String( buf, 0, I ); } catch ( Exception ex ){ ex.printstacktrace(); } StringTokenizer tokenizer = new StringTokenizer( s, " " ); int count = tokenizer.counttokens(); while( count > 4 ){ String name = tokenizer.nexttoken(); String datum = tokenizer.nexttoken(); String email = tokenizer.nexttoken(); String hp = tokenizer.nexttoken(); String text = tokenizer.nexttoken(); Msg m = new Msg( name, email, hp, text); entries.addelement( m ); count -= 5; } } IV - 23

Anzeigen des Bildes public boolean imageupdate( Image img, int flags, int x, int y, int w, int h) { boolean ready = ((flags & (ERROR ALLBITS))!= 0); if (ready) imgcanvas.repaint(); return!ready; } IV - 24

Zusammenfassung Applets können alles Aber Sicherheit Komplexität IV - 25

Applet Security Manager Keine lokalen Dateioperationen Keine Emails Starten von Prozessen Eingeschränktes Netzwerk IV - 26

Komplexität Programmieren Viele Details Layout Asynchrone Datenübertragung IV - 27