1 / 19

Programowanie obiektowe

Programowanie obiektowe. Andrzej Ziółkowski Wykład 5. Aplikacje internetowe. Miejsce działania programu – serwer, komputer użytkownika Instalowanie programów, dostępność Aktualizacje oprogramowania Bezpieczeństwo Bezstanowość. Programy internetowe. HTML, CSS, XML, XHTML

ting
Download Presentation

Programowanie obiektowe

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programowanie obiektowe Andrzej Ziółkowski Wykład 5

  2. Aplikacje internetowe • Miejsce działania programu – serwer, komputer użytkownika • Instalowanie programów, dostępność • Aktualizacje oprogramowania • Bezpieczeństwo • Bezstanowość

  3. Programy internetowe • HTML, CSS, XML, XHTML • JavaScript – komputer użytkownika • CGI, Perl, C - serwer • PHP - serwer • Java applet – komputer użytkownika • Java servlet - serwer • ASP, ASP.NET, C# - serwer

  4. Aplet – zasada działania Aplet – program napisany w języku Java, uruchamiany ze stron WWW w przeglądarce. • Przechowywany (po skompilowaniu) na serwerze razem ze stronami HTML • Przesyłany razem ze stronami HTML na komputer użytkownika i tam uruchamiany • Korzysta z wydzielonego obszaru (okna) na stronie HTML • Tworzony jako klasa dziedzicząca po klasie Applet z pakietu java,applet lub javax.swing.JApplet. Odpowiedni obiekt tej klasy tworzy przeglądarka po załadowaniu strony HTML, gdzie aplet jest „osadzony”.

  5. Osadzanie apletu na stronie HTML • <html> • <head> • <title>Cw2</title> • <meta content="text/html; charset=windows-1250" http-equiv="Content-Type"> • <link href="std1.css" type="text/css" rel="stylesheet"> • </head> • <body> • Cw2 - Program rysujący:<br><br> • <applet code="cw2/cw2.class" archive="cw2.jar" width="500" height="350"> • </applet> • <br><br> • Źródło: <a href="cw2.java">cw2.java</a> • </body> • </html> <applet code= " aplet.class" width="500" height="350"></applet>

  6. Parametry apletu • code=”plik.class” • width=”400” • height=”300” • codebase=”adres URL” • archive=”plik.jar” • name=”nazwa apletu” • mayscript • vspace=”10” • hspace=”10” • align=”left” • alt=„”tekst wyświetlany gdy nie można uruchomić” • <param name=”nazwa” value=”wartość”>

  7. Przykładowy aplet import java applet.*; public class ProstyAplet extends Applet { public void paint(Graphics g) { g.drawText(20,10,”To ja ProstyAplet”); } }

  8. Najważniejsze składowe apletu import java applet.*; public class NazwaApletu extends Applet { public void init() { // inicjacja apletu } public void start() { // wznowienie pracy } public void stop() { // wstrzymanie pracy } public void destroy() { // zamykanie okna przeglądarki } public void paint(Graphics g) { // malowanie } public void repaint() { // odświeżanie po zmianie wyglądu } }

  9. Inicjacja apletu • Obiekt apletu tworzy przeglądarka na podstawie danych ze strony HTML • Metoda init() jest wywoływana tylko raz na początku działania apletu ale po utworzeniu obiektu i ustaleniu środowiska pracy. • W konstruktorze dane potrzebne w aplecie mogą być jeszcze niedostępne i dlatego wprowadzono metodę init() wywoływaną później aby tam robić inicjację.

  10. Wyświetlanie informacji w aplecie • Za wygląd aplety odpowiedzialna jest metoda paint wywoływana gdy trzeba odmalować obszar lub część obszaru apletu • Metoda paint powinna zawierać malowanie całego obszaru apletu • Do malowania używamy metod z klasy Graphics np.: • g.drawText(x,y,”tekst”); • g.drawRect(x,y,w,h);

  11. Tworzenie okien dialogowych Za pomocą apletu można tworzyć złożone programy z nowymi okami dialogowymi do wprowadzania danych. Dialog dlg1 = new Dialog(this);// … // budowanie dialogu// …dlg1.setVisible(true);

  12. Pobieranie parametrów z HTML • Wstawiając aplet w pliku HTML możemy podać dodatkowe parametry: <applet code=”ap.class” width=400 height=300> <param name=par1 value=100> <param name=par2 value=”tekst”> </applet> • W aplecie dostęp do parametrów zapewnia metoda getParameter: int par1; String s = getParameter(”par1”); if (s == null) par1 = 10; // wartość domyślna else par1 = Integer.parseInt(s); // podstawienie wartości

  13. Pobieranie informacji z linii adresu W aplikacjach internetowych parametry miedzy kolejno wyświetlanymi stronami są często przekazywane jako uzupełnienie adresu URL np. http://www.strona.pl?par1=val1@par2=val2 Parametry te można pobrać wykorzystując metodę getDocumentBase() String s = getDocumentBase().ToString(); W polu s zostanie umieszczona cała linia adresu, z której można wyodrębnić potrzebne informacje.

  14. Aplety i JavaScript • Wymagany paramet apletu mayscript. • Wykorzystujemy klasę JSObject: • import netscape.javascript.*;jscript = JSObject.getWindow(this); • Wywołanie funkcji JavaScript • jscript.call(nazwaFunkcji,tablicaParametrów); • Użycie JavaScript w aplecie • jscript.eval(TekstKomendyJavaScript); • Dostęp do metod apletu w JavaScript • document.nazwaApletu.metodaApletu(…

  15. Ograniczenia apletów • Powód – bezpieczeństwo • Aplety nie mają dostępu do plików na komputerze użytkownika. • Nie mogą uruchamiać programów na komputerze użytkownika. • Mogą się komunikować jedynie z serwerem, z którego zostały pobrane. • Wyjątki • Aplety uruchamiane w appletviewer • Aplety podpisane

  16. Przykład apletu – wybór koloru Strona HTML • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> • <html> • <head> • <title>Cw4a</title> • <meta content="text/html; charset=windows-1250" http-equiv="Content-Type"> • <link href="std1.css" type="text/css" rel="stylesheet"> • </head> • <body> • Cw4a - Wybieranie koloru:<br><br> • <applet code="cw4/cw4.class" archive="cw4.jar" width="365" height="420"> • </applet> • <br><br> • </body> • </html>

  17. Tworzenie apletu w NetBeans

  18. Przykład apletu – wybór koloru • package cw4; • public class cw4 extends javax.swing.JApplet { • /** Initializes the applet cw4 */ • public void init() { • try { • java.awt.EventQueue.invokeAndWait(new Runnable() { • public void run() { • initComponents(); • } • }); • } catch (Exception ex) { • ex.printStackTrace(); • } • } • …

  19. Przykład apletu – wybór koloru • private void niebieskiMouseMoved(java.awt.event.MouseEvent evt){ • aktualny.setBackground(new java.awt.Color(0, 0, 255)); • } • private void niebieskiMouseClicked(java.awt.event.MouseEvent evt) { • wybrany.setBackground(new java.awt.Color(0 , 0, 255 )); • } • private void zielonyMouseMoved(java.awt.event.MouseEvent evt) { • aktualny.setBackground(new java.awt.Color(0,255,0)); • } • private void zielonyMouseClicked(java.awt.event.MouseEvent evt) { • wybrany.setBackground(new java.awt.Color(0,255,0)); • } • private void czerwonyMouseMoved(java.awt.event.MouseEvent evt) { • aktualny.setBackground(new java.awt.Color(255,0,0)); • } • private void czerwonyMouseClicked(java.awt.event.MouseEvent evt) { • wybrany.setBackground(new java.awt.Color(255,0,0)); • }

More Related