PPS-Design einer eigenen WWW-Homepage SS 2003 Applets.

Slides:



Advertisements
Ähnliche Präsentationen
GWT - google Web Toolkit
Advertisements

Java-Servlets Gliederung: Allgemeine Informationen zu Servlets
HS-Projekt Friedrich Junge-Schule, Kl. 9c, 2011 Wie funktionieren Internet-Server? Web-Server auf eigener Domain und Game-Server für Internet-Spiele Teilnehmer:
Webinterface für eingebettete Systeme in Dual-Server-Architektur
Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML
Einführung in die Programmierung in JAVA AG SS 2003
WWW World Wide Web.
Software Engineering Praktikum SS 2003
Software Engineering Praktikum WS 2002/03
Inhalt – Technische Grundlagen
Aufbau des Internets Überblick Prof. Dr. T. Hildebrandt
Basis-Architekturen für Web-Anwendungen
Internet-Datenbanken
Datenbankzugriff im WWW (Kommerzielle Systeme)
Web 2.0!? /TU Freiberg/Internet Multimedia/Konrad Froitzheim
Web 2.0!? /TU Freiberg/Internet Multimedia/Konrad Froitzheim
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Internet-Datenbanken Grundlagen des WWW HTML HTTP Web-Anbindung von Datenbanken Servlets JSP JDBC XML Datenmodell Schemabeschreibungssprachen Anfragesprachen.
FTP – File Transfer Protocol
Dynamische Webseiten mit PHP Oder: LAMP - The open way.
Web-Anwendungen.
Web-Anwendungen.
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
NetUSE Web Application Framework Kai Voigt NetUSE AG 28. Februar 2003.
Zukunft des Webs? Dennis Beer Christian Blinde
Hyperstrukturen Ein Beispiel © Katharina Brachmann.
Web-Anwendungsentwicklung à la MVC. Übersicht Über Georg Heeg Ein industrielles Beispiel Web-Anwendungen aus Smalltalker-Sicht MVC für das Web Programmierdemo.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Einführung Servlets/JSPs
Erste Schritte mit PHP 5 von Max Brandt, 22. September 2006.
Einführung in die Programmiersprache Java
Applets Java für’s Web.
Client-Server Modell Advanced IT Basics Nicolas Frings.
Befehle der ersten html-Stunde
Grundlagen: Client-Server-Modell
Bedeutung von Internet-Technologien
App-Entwicklung mit HTML5, CSS und JavaScript
Anwendungen Servlet II Formular Auswertung Zähler
Beschreiben Sie eine Web Interaktion mittels Java Applets.
MathCoach Ein web-basierter Mathematik-Tutor
Datenanbindung in Webapplikationen
Webhosting an der Universität Zürich
LEGO-Robotik mit Java Projekt Virtueller Campus LLB Projektlauzeit: Oktober Februar 2006 Mitarbeiter:Jarka Arnold (Projektleitung) Andreas Marti.
Infoscreen 2.0.
Dedizierte Systeme Typo3 Installation Dedizierte Systeme – Typo3 Installation – Christoph Stollwerk IT Zertifikat der Philosophischen Fakultät WS 2008/2009.
Das Internet Inhalt: Geschichte Netzschema
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
HTML Grundkurs Patrick Cato.
Client-Server-Modell
W W W - World Wide Web. Das World Wide Web kommt aus dem Englischen und bedeutet ‚Weltweites Netz‘ ist ein über das Internet abrufbares Hypertext-System.
Online GIS Online GIS – Der Nutzer Matthias Hofschen, ESRI Germany ESRI EUROPEAN USER CONFERENCE.
Willkommen zum Brückensemester
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Datenbanken im Web 1.
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet

Test 1 Test 2 Test 3. Test 4 Test 5 Test 6 Test 7 Test 8 Test 9.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
Oracle ADF FacesSeite 1 Oracle ADF Faces OPITZ CONSULTING Oracles Implementierung der JavaServer Faces Spezifikation.
Dynamische Webseiten CGI & co. © CGI - Lösung für alle ? Ja CGI kann alles tun, was man für Anwendungen braucht flexibel (beliebige.
LINUX II Unit 7 LAMP Server. LAMP ● Linux – Apache - MySQL – PHP ● Leistungsfähiges und kostenloses System zur Genrierung von dynamischen Webseiten und.
PPS-Design Eigener Homepage
Hello World! Javakurs 2013 Arne Kappen
Test.
Wie funktioniert das Internet?
 Präsentation transkript:

PPS-Design einer eigenen WWW-Homepage SS 2003 Applets

Überblick Architektur Einbettung des Applets in HTML Programmierung eines Applets Sicherheitsrisiken

Applets sind Java Programme, die in Webseiten eingebunden werden können. Der Interpreter ist im Browser integriert Architektur Browser OS WebServer OS HTTP-Response (HTML + Applet) HTTP-Request HTML + Class Files JVM Java Framework Java Applet

Einbettung des Applets in HTML Ein Applet wird mittels des applet -Tag in eine Webseite integriert: Beispiel einer Webseite mit Applet:Beispiel einer Webseite mit Applet Einfaches Applet In diesem Test wird ein einfaches HelloWorld-Applet ausgeführt. <applet code=SimpleApplet.class width=500 height=100 alt="Cannot load applet> No applet support. Classfile des Applets Dimensionen des Applets Alternativer Text, falls Browser Classfile nicht laden oder ausführen kann Alternativer Text, falls Browser applet Tag nicht versteht

Programmierung eines Applets Ein Applet ist eine Java-Klasse, die (direkt oder indirekt) von der Klasse java.applet.Applet abgeleitet ist. java.lang.Object java.awt.Component java.awt.Container java.awt.Panel - Zeichnungsfähigkeit (z.B. paint) - Behandlung von Ereignissen (z.B. mouseDown) - Gruppierung von mehreren Graphikelementen innerhalb einer Komponente java.applet.Applet - init, start, stop, destroy

Programmierung: SimpleApplet import java.applet.*; import java.awt.*; public class SimpleApplet extends Applet { private Font font; public void init() { font = new Font("Helvetica", Font.ITALIC,24); } public void paint(Graphics g) { g.setColor(Color.red); g.setFont(font); g.drawString("Hello world.", 25, 50); }

Lebenszyklus eines Applets unbekannt initialisiert zerstört laufendgestoppt [1]: init() [1]: start() [3]: start() [2]: stop() [4]: destroy() [1] = Laden des Applets [2] = Laden einer neuen Seite, Iconifizierung [3] = Zurückkehren zu einer Seite, Deiconifizierung [4] = Verwerfen des Applets

Lebenszyklus eines Applets Der Browser ruft die folgenden Methoden auf: –init : Um das Applet zu initialisieren, wenn es das erste Mal geladen wird (oder nach einem Reload) –start : Um dem Applet anzuzeigen, dass es im Browser sichtbar ist (auch aufgerufen nach init ) –stop : Um dem Applet zu signalisieren, dass es im Browser nicht mehr sichtbar ist wegen Scrolling oder Seitenwechsels (auch aufgerufen vor destroy ) –destroy : Um das Applet wieder aus dem Browser zu laden (unloading) und Ressourcen wieder freizugeben

Zeichnen innerhalb eines Applets Ein Applet implementiert die Zeichnungsfunktionen in der paint Methode: class SimpleApplet extends Applet {... public void paint(Graphics g) { g.setFont(Helvetica, Font.BOLD, 32); g.drawString(my text, x, y);... } Wichtig: –Die paint Method wird vom Browser aufgerufen und sollte nie direkt aufgerufen werden –Um das Zeichnen des Applets zu forcieren, verwendet man die Methode repaint welche indirekt paint aufruft

Beispiel Applets SimpleApplet.java LifeCycle.java inLifeCycle.java –Internet Explorer 6.0 WebseiteInternet Explorer 6.0 Webseite –Netscape Communicator 4.7 WebseiteNetscape Communicator 4.7 Webseite

Behandlung von Ereignissen Applets reagieren auf Ereignisse, indem sie den entsprechenden Event-Handler implementieren, z.B.:z.B.: public class Scribble extends Applet implements MouseListener, MouseMotionListener { private int last_x=0, last_y=0, x=0, y=0; private Graphics g;... public void init() { addMouseListener(this); addMouseMotionListener(this); g = getGraphics(); } public void mousePressed(MouseEvent event) { last_x = event.getX(); last_y = event.getY(); } public void mouseDragged(MouseEvent event) { x = event.getX(); y = event.getY(); g.drawLine(last_x, last_y, x, y); last_x = x; last_y = y; }

Parametrisierung von Applets Applets lassen sich durch Parameter im HTML-Code konfigurieren: <applet code=ParameterDemo.class width=500 height=100 alt="Cannot load applet"> No applet support. <applet code=ParameterDemo.class width=500 height=100 alt="Cannot load applet"> No applet support.

Parameterübergabe an Applet Im HTML Code (ParameterDemo.html) benutzen wir unsere Parameter text, foreground und backgroundParameterDemo.html Applet (ParameterDemo.java) kann die Parameter mit getParameter lesen:ParameterDemo.java public void init() { font = new Font(Helvetica, Font.ITALIC, 24); text = getParameter(text); fgColor = getColorParameter(foreground, Color.black); bgColor = getColorParameter(background, Color.white); setForeground(fgColor); setBackground(bgColor); }

Sicherheitsrisiken Applets sind ein potentielles Sicherheitsrisiko, da Applets beliebigen Code enthalten können Potentielle Gefahren: –Lokale Dateien lesen, modifizieren oder löschen –Gefälschte s versenden –Weitergabe von sensitiven Benutzerinformationen –... Daher: JVM, welche innerhalb des Browsers läuft, schränkt Möglichkeiten eines Applets ein

Einschränkungen für Applets Restriktionen für das lokale Filesystem: –Keine Dateien lesen oder schreiben –Keine Programme starten, keine Bibliotheken laden –Prüfen auf die Existenz einer Datei ist nicht erlaubt –Keine Verzeichnisse durchsuchen oder erzeugen Restriktionen für Netzwerkoperationen: –Keine Netzwerkverbindungen aufbauen (ausser zum Rechner von dem Applet ursprünglich stammt) Restriktionen für Benutzerinformationen: –Gewisse Benutzerinformationen lassen sich mit getProperty nicht lesen ( user.name, user.home, user.dir )Benutzerinformationen

Fähigkeiten eines Applets Applets, welche vom lokalen Filesystem geladen wurden (von Folder in CLASSPATH), besitzen normalerweise keine Restriktionen Netzwerkverbindungen zum Rechner, von welchem das Applet ursprünglich stammt, aufbauen. Audio Clip Dateien spielen: –Beispiel 1 (HTML, Applet)HTMLApplet –Beispiel 2 (HTML, Applet)HTMLApplet Public Methoden anderer Applets in der gleichen Webseite aufrufen

Exceptions bei unerlaubten Zugriffen Unerlaubte Zugriffe erzeugen Exceptions, z.B.:z.B. public void init() { … try { Properties p = System.getProperties(); msg1=Name: +p.getProperty(user.name); msg2=Home: +p.getProperty(user.home); } catch (Exception e) { msg1 = Ouch: + e.getMessage(); msg2 = ; }

Weiterführende Literatur A list of all applets in the The Java TutorialA list of all applets in the The Java Tutorial FREEBIE APPLETS YOU CAN USE

Danke für Ihre Aufmerksamkeit! Fragen?