1 / 20

Appletek és Servletek

Appletek és Servletek. Demeter Lehel 641-es csoport. A Java programozási nyelv 1. egy hagyományos értelemben vett programozási nyelv objektum orientált , csak objektum orientáltan lehet programozni megoldható az összes hagyományos programozási feladat, viszont ennél többről van szó

twila
Download Presentation

Appletek és Servletek

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. Appletek és Servletek Demeter Lehel 641-es csoport

  2. A Java programozási nyelv1 • egy hagyományos értelemben vett programozási nyelv • objektum orientált, csak objektum orientáltan lehet programozni • megoldható az összes hagyományos programozási feladat, viszont ennél többről van szó • a Világhálóval kapcsolatos problémákat is képes megoldani

  3. A Java programozási nyelv2 • az Internet programozási nyelvének is nevezik • az Interneten script nyelvekkel megoldható a feladatok 80%-a, míg Java - val megoldható a fennmaradt 20% is • viszonylag egyszerű alkalmazásokat írni az Interneten keresztül más gépek felé adatokat továbbítani, dinamikus web oldalakat, felületeket generálni, létrehozni

  4. Appletek1 • az Internetes Java alkalmazások létrehozásának leggyakrabban használt formái az applet alkalmzások • olyan Java programok, amelyek egy weblap keretén belül futnak Java-t támogató böngésző segítségével • egyszerűbbek, mint egy valódi Java alkalmazás, amelynek nincs szüksége további alkalmazásokra a futáshoz és egy kliens gépen futnak

  5. Appletek2 • az Internetről bárhonnan betölthetőek és korlátozva vannak sok biztonsági megkötéshez • leginkább reklámcélokra használják az Interneten, mert animációk és hangok egyszerű beillesztését támogatják a weblap keretén belül • futtatásukhoz szükség van egy Java-t támogató böngészőre (Netscape 2.0, IE 3.0, HotJava, PowerBrowser, Mozilla, Opera …) vagy az appletviewer nevű programra, amely hozzátartozik a Java SDK-hoz, valamint szükség van a Java futtatási környezethez (JRE)

  6. Az appletek képességei és korlátai • Java appletek segítségével készíthetünk teljes grafikus kezelőfelületeket • lehetőség van kommunikálni Interneten keresztül a gazdaszerverrel és más appletekkel a formok belül platformtól függetlenül • alapértelmezésben az appletek nem kommunikálhatnak más szerverrel, mint a kezdeményező szerverrel és nem férhetnek hozzá a lokális fájlrendszerhez • a Java-ból hiányzik a pointerkezelés, mert a program számára kiszabott memóriakeretek növelése nem biztonságos

  7. Az appletek biztonsága • a Java biztonsági modellje úgy van fölépítve, hogy a Java appleteket és alkalmazásokat, mint ismeretlen, nem biztonságos objektumokat kezelje melyek egy biztonságos környezetben futnak. • habár a java appleteket nem fogják a közeljövőben sem igazán titkos alkalmazások fejlesztésére használni, a Java biztonsági modell rendkívül biztonságosnak minősül • a bytecode ellenőrző szerepe, hogy ellenőrizzen minden egyes feltöltött Java osztályt • az osztálykezelő (class loader) erősíti a biztonságot irányítva az appletműveleteket futás közben

  8. Java appletek készítése1 • a Java-ból hiányzik a többszörös öröklődés, hogy elkerüljék a C programok túlságosan bonyolult nehezen átlátható voltát, így minden osztálynak csak egy közvetlen őse lehet, amit a Javaban super-nek neveznek • minden applet közös őse az Applet osztály, amely hozzáköti az alkalmazást a browser-hez • Egy applet életciklusa négy fontos eseményen megy keresztül: - inicializálás, start, megállás (stop), megszűnés (destroy) • ezen négy esemény megfelel az Applet osztály négy metódusának

  9. Java appletek készítése2 • init() – akkor hívódik meg, amikor az applet először töltődik be. Az applet életciklusa során csak egyszer • start() – az inicializálás után hajtódik végre, valamint minden egyes alkalomkor, amikor az applet újraindul. Ez olyankor történik, ha a felhasználó átvált egy másik browser ablakra vagy alkalmazásra, mint amely az appletet tartalmazza, majd később visszavált.

  10. Java appletek készítése3 • stop() – akkor hajtódik végre, ha az appletet tartalmazó ablak megszűnik aktívnak lenni. Ilyenkor szünetel az applet futása • destroy() – ha az applet teljesen befejezi futását. Általában akkor következik be, ha a felhasználó kilép a browserből vagy az applet frissítődik a host szerverről. Arra lehet használni, hogy fölszabadítsuk a lefoglalt erőforrásokat, pl. threadek vagy adatbázis kapcsolatok

  11. Java appletek készítése4 • fordítás után class kiterjesztésű fájl(ok) jönnek létre • a Java futtatási környezet végre tudja hajtani • az appleteket egy weblap keretén belől az <APPLET> HTML tag code atributumának beállításával lehet meghívni vagy az appletviewer nevű program segítségével, amely hozzátartozik a Java SDK-hoz • Példa <APPLET CODE=”test.class” WIDTH=400 HEIGHT=400> szöveg ha nincs java támogatottság </APPLET>

  12. Java appletek készítése5 • az appletek kommunikálhatnak egymás között ha: - megosztják ugyanazt a browser ablakot - a browser két különböző ablakában futnak - két különböző kliens browseren futnak - különböző szerverről voltak betöltve

  13. Servletek1 • a Netscape és Microsoft különféle próbálkozásaira a szerver-oldali Java programozásra a JavaSoft kifejlesztette a Servlet API-t standard szerver-oldali Java eszközként • a servlet egy speciális Java program, amely egy webszerverrel szorosan együttműködve a szerver oldalon lehetővé teszi HTML oldalak dinamikus létrehozását és paraméterezését különböző átviteli (például HTTP) protokollon keresztül

  14. Servletek2 • a servlet ugyanaz a webszervernek, mint egy applet a böngészőprogramnak, csak nem rendelkezik grafikus felhasználói felülettel • erre nincs is szükség, mivel a servletek - mint a név is mutatja - csakis szerver funkciókat képesek elvégezni • pontosabban a webszerver funkcionalitását lehet velük kibővíteni, mert ha egy kliens olyan HTML oldalt kér a webszervertől, amit egy servlet állít elő, akkor a webszerver tulajdonképp csak továbbküldi a kérést a servlet felé, majd a servlet által generált oldalt továbbítja a kliensnek • a servleteket tehát lehet ügy tekinteni mint platformfüggetlen pótlását a CGI-nek.

  15. Servletek3 • egy nagyon fontos előnye a servleteknek a CGI-vel szemben a gyorsaság. A CGI programokkal ellentétben, a servletet csak egyszer kell betölteni a memóriába és ez után innen használódnak az inicializálás után • servletek threadként keletkeznek, és természetüktől fogva többszálasak (multithreaded) • platformfüggetlenek • a Java Server Page (JSP) tehnológia a servlet tehnológia kiterjesztése, amely speciálisan a HTML és XML támogatására készült. A JSP tehnológia egyszerűbbé teszi a kötött, statikus template és a dinamikus tartalom egybeágyazását

  16. Servletek4 • a servletek tudnak válaszolni minden típusú (socket) kérésre, általában Web szerverekhez kapcsolódó alkalmazások kibővítésére használják, ezekhez az alkalmazásokhoz a Java Servlet tehnológia külön specifikus osztályszerkezetet nyújt • a javax.servlet és javax.servlet.http csomagok tartalmazzák a servletek írásához szükséges interfészeket meg osztályokat • a servlet a webszerveren futó servlet engine-el kéréseken (request) és válaszokon (response) keresztül kommunikál • a kliens program, amelyet bármely programozási nyelvben meg lehet írni kérést küld a webszervernek, amelyet a webszerver servlet engine-e feldolgoz és továbbküld a servlet felé. Ezután a servlet visszaküld egy választ, amely majd a web szerveren keresztül eljut a kliensig

  17. Servletek5 • a servletek futtatásához szükség van egy servleteket támogató Web szerverre. (pl. Apache TomCat, Sun iPlanet) az ilyen engine-ket servlet konténereknek is nevezik • minden servletnek szükséges implementálnia a Servlet interfészt, amely definiálja a servlet életciklusának metódusait. A HttpServlet osztály kibővítésével lehetőségünk van HTTP specifikus szolgáltatásokat elérni (doGet, doPost)

  18. Servletek6 • ha nem létezik a servlet egy futó példánya, akkor: – betölti a servlet osztályt – létrehozza a osztály egy példányát (instance) – meghívja ennek az init() metódusát • meghívja a service() metódust, átadva egy kérés (request) és válasz (response) objektumot • végül, ha a konténer-nek szüksége van a servlet eltávolítására, meghívja ennek a destroy() metódusát • a servlet életciklusainak követését valamint az ezekbe való beavatkozást listener objektumok segítségével lehet megoldani, melyeknek metódusai kötődnek a servlet eseményeihez.

  19. Servletek7 A servletek nem csak HTTP szerverek programozására alkalmasak, hanem FTP, Gopher, Telnet, Mail és más szolgáltatások programozására, vagyis bármely közismert socket-orientált szervert támogatja.

  20. Köszönöm a figyelmet!

More Related