Java nézet technológiák és keretek - Java view technologies and frameworks
A Java nézet technológiák és keretek olyan web alapú szoftver könyvtárak , amelyek a Java webes alkalmazások felhasználói felületét vagy " nézetrétegét " biztosítják . Az ilyen alkalmazási kereteket használják a weboldalak meghatározására és az ezen weboldalak által generált HTTP kérések (kattintások) kezelésére . A webes keretrendszerek alkategóriájaként a nézetrétegű keretrendszerek gyakran eltérő mértékben vannak átfedésben azokkal a webes keretrendszerekkel, amelyek más funkciókat biztosítanak a Java webes alkalmazások számára.
A Java nézetrétegű keretek gyakran azt állítják, hogy támogatják a modell – nézet – vezérlő tervezési mintáinak egy részét vagy egészét .
tartalom
Ránézésre
| Akcióalapú keretek: | Apache Struts , tavaszi MVC |
|---|---|
| Komponens alapú keretek: | Apache Click , Apache gobelin , Apache Wicket , JavaServer Faces |
| Websablon rendszerek: | Apache csempe , SiteMesh , Thymeleaf |
- A JavaServer Faces (JSF), az Apache Tapestry és az Apache Wicket versengő komponens-alapú technológiák, amelyek absztrakcióba hozzák az állapot nélküli HTTP kérés-válasz ciklust és a Java Servlet API-t objektum-orientált , eseményvezérelt összetevő-modell mögött .
- Ezzel szemben a Struts és a Spring MVC Framework akcióorientált keretek, amelyek vékonyabb absztrakciós réteget biztosítanak a szervlet API felett .
- Az Apache Tiles egy sablonkeret, amelyet Struts-kel való együttműködésre terveztek.
- A Facelets egy nézetmeghatározó és sablonkészítő technológia, amelyet a JSF-vel való együttműködésre terveztek.
- A SiteMesh bármilyen JSP-vel használható .
- A arclapoknak, a gobelinnek és a Wicketnek saját sablon-megközelítésük van a HTML / XHTML alapján .
- Az Apache Click HTML alapú Apache Velocity sablonokat és Plain Old Java objektumokat használ , a JavaServer Pages opcionálisan.
Servlet API
A Servlet API szinte az összes Java Web View technológia alapja. A Servlet biztosítja a Java osztályok írásának alapvető mechanizmusát a webes alkalmazásokhoz. A szervlet válaszolhat HTTP kérésekre, létrehozhat sütiket és fenntarthat munkameneteket.
JavaServer oldalak (JSP)
- A Servlet API tetejére épített JSP dokumentum-központú, címke-alapú sablonokat, szerverprogramozási modellt kínál, amely sokféle szöveges tartalmat generálhat.
- A Java kód beágyazható a JSP fájlokba, és fordításra és végrehajtásra kerül, amikor egy kérés érkezik.
Apache Struts
- A Struts lehetővé teszi a Vezérlő és a Nézet leválasztását .
- A kérelmeket egy Java osztály (vezérlő) fogadja, amely eldöntheti, hogy melyik nézetet jelenítse meg.
- Az aktuális nézet különböző nézet-technológiákkal írható, például JSP, ingyenes marker sablon, sebesség sablon stb.
- Az "XML konfigurációs fájl " meghatározza az "Oldalnavigációt", azaz a kérés folyamatát a megfelelő vezérlőhöz, és melyik nézetet jeleníti meg a vezérlő eredménye alapján.
- Versenyző : Tavaszi MVC, Grails
Apache kárpit
- Komponens-alapú nézetrendszer.
- Az osztályokat POJO-kként írják, és byte-kódot átalakítanak a futási időben
- Az XML helyett annotációkkal és elnevezési konvenciókkal van konfigurálva
- A JSP-khez képest a HTML-jelölést és a Java-kódot egyértelműen elválasztja .
- A HTML sablonokat a webdesignerök közvetlenül megnézhetik
- A megváltozott alkatrészosztályok a gyorsabb fejlesztés érdekében élő újratöltésre kerülnek futó alkalmazásba.
- A Post / Redirect / Get navigációs mintát használja az űrlap benyújtásához.
- Versenyző : Wicket, JSF, HybridJava
Apache Wicket
- Komponens-alapú nézetrendszer.
- Az oldalak közvetlenül kölcsönhatásba lépnek a kiszolgálón lévő állapotalapú Java-összetevőkkel.
- Az összetevőket és azok állapotát a Wicket keretrendszer kezeli, megszabadítva az alkalmazásfejlesztőt attól, hogy a HttpSession-t közvetlenül használja az állapot kezeléséhez.
- A konfigurációhoz nem szükséges XML.
- A JSP-khez képest a HTML-jelölést és a Java-kódot egyértelműen elválasztja .
- A weblap-összetevőket a kódból „beillesztik” a HTML-jelölésbe.
- Versenyző : gobelin, JSF, HybridJava
JavaServer arcok (JSF) és arclapok
- Komponens-alapú nézet-keretek specifikációja.
- A Mojarra és az Apache MyFaces implementációk elérhetők
- Általában Facelets-t használ XML / XHTML-alapú sablonok készítéséhez.
- Az osztályok POJO-kként vannak megírva, és kommentárokkal vagy XML-konfigurációs fájlokkal társítják őket az oldal- és komponenssablonokkal.
- Az Unified Expression Language lehetővé teszi az összetevő mezők és események kötését a POJO bab tulajdonságainak és módszereinek.
- Az átalakítási és érvényesítési korlátozások a Facelets-ben megadhatók és automatikusan alkalmazandók, rendszerint ugyanannak az oldalnak a hibainformációval történő újbóli elküldését eredményezve, ha hiba történik.
- A navigáció a konfigurációs fájl szabályain keresztül vagy közvetlenül az oldalon megadható.
- Átláthatóan támogathatja az Ajaxot .
- Versenyző : kiskapu, gobelin
SiteMesh
- A SiteMesh egy HTML sablonkeret, amely a "Dekoráció" modelln alapul.
- Ez lehetővé teszi egy „dekorációs” sablon létrehozását, amelyet azután minden más HTML-re alkalmaznak egy új HTML létrehozására.
- Az újonnan létrehozott HTML az eredeti HTML elemeit tartalmazza, amelyek össze vannak keverve a sablonba.
- Ez lehetővé teszi, hogy az eredeti HTML nagyon egyszerű legyen, és nem tartalmaz formázást vagy elrendezési specifikációt. A sablonnak viszont nincs tényleges információja.
- A kettő összekeverése következetes megjelenést és érzetet biztosít minden weboldal számára .
- Versenyző : Csempe
Szikra
- Kissön egy egyszerű útválasztó rendszer körül épített mikrohálózati keretet
- Alapértelmezés szerint beágyazott Jetty webszerveren fut , de konfigurálható úgy, hogy más webszervereken is futtasson.
- Három különböző sablonmotort támogat: Velocity , FreeMarker és Bajusz
- Célja a gyors fejlődés elősegítése, és nem használ feljegyzéseket vagy védett megoldásokat.