Tehnologii și cadre de vizualizare Java - Java view technologies and frameworks

Tehnologiile și cadrele de vizualizare Java sunt biblioteci software bazate pe web care furnizează interfața cu utilizatorul sau „ stratul de vizualizare ” al aplicațiilor web Java . Astfel de cadre de aplicație sunt utilizate pentru definirea paginilor web și pentru gestionarea cererilor HTTP (clicuri) generate de acele pagini web. Ca o subcategorie de cadre web , cadrele de nivel de vizualizare se suprapun adesea în diferite grade cu cadre web care oferă alte funcționalități pentru aplicațiile web Java.

Cadrele de nivel de vizualizare Java afirmă adesea că acceptă o parte sau toate modelele de proiectare a modelului-vizualizare-controler .

La o vedere

Cadre bazate pe acțiuni: Apache Struts , Spring MVC
Cadre bazate pe componente: Apache Click , Apache Tapestry , Apache Wicket , JavaServer Faces
Sisteme de șabloane web: Placi Apache , SiteMesh , Thymeleaf

API Servlet

API Servlet este fundamentul a aproape toate tehnologiile Java Web View. Servlet oferă mecanismul de bază pentru scrierea claselor Java pentru aplicații web. Servlet-urile pot răspunde solicitărilor HTTP, pot crea cookie-uri și întreține sesiuni.

Pagini JavaServer (JSP)

  • Creat pe partea de sus a API-ului Servlet, JSP oferă un model centrat pe documente, bazat pe etichete, model de programare a serverului care poate genera multe forme de conținut textual.
  • Codul Java poate fi încorporat în fișierele JSP și este compilat și executat la primirea unei solicitări.

Apache Struts

  • Struts prevede decuplarea controlerului și a vizualizării.
  • Solicitările sunt primite de către o clasă Java (controler) care poate decide ce vizualizare trebuie afișată.
  • Vizualizarea propriu-zisă poate fi scrisă în diferite tehnologii de vizualizare, cum ar fi JSP, șablon de marcare liberă, șablon de viteză etc.
  • Un fișier de configurare XML este utilizat pentru a specifica „Navigarea în pagină”, adică fluxul cererii către controlerul corespunzător și pe care se afișează Vizualizarea pe baza rezultatului controlorului.
  • Concurent : Spring MVC, Grails

Tapiserie Apache

  • Un cadru de vizualizare bazat pe componente.
  • Clasele sunt scrise sub formă de POJO și cod de octet transformat la runtime
  • Configurat cu adnotări și convenții de denumire în loc de XML
  • Comparativ cu JSP-urile, aplică o separare clară de marcaj HTML și cod Java.
  • Șabloanele HTML pot fi previzualizate direct de designerii web
  • Clasele de componente modificate sunt reîncărcate live în aplicația rulantă pentru o dezvoltare mai rapidă.
  • Utilizează modelul de postare / redirecționare / primire pentru trimiterea formularului.
  • Concurent : Wicket, JSF, HybridJava

Apache Wicket

  • Un cadru de vizualizare bazat pe componente.
  • Paginile interacționează direct cu componente Java statutare de pe server.
  • Componentele și starea lor sunt gestionate de cadrul Wicket, eliberând dezvoltatorul aplicației de a trebui să utilizeze HttpSession direct pentru a gestiona starea.
  • Nu necesită XML pentru configurare.
  • Comparativ cu JSP-urile, aplică o separare clară de marcaj HTML și cod Java.
  • Componentele paginilor web sunt „împinse” în marcajul HTML din cod.
  • Concurent : Tapiserie, JSF, HybridJava

Facilități JavaServer (JSF) și Facelets

  • O specificație pentru cadrele de vizualizare bazate pe componente.
  • Sunt disponibile implementări Mojarra și Apache MyFaces
  • Utilizează în mod obișnuit Facelets pentru șabloane bazate pe XML / XHTML.
  • Clasele sunt scrise sub formă de POJO, cu adnotări sau fișiere de configurare XML folosite pentru a le asocia cu șabloane de pagini și componente.
  • Expresia Unified Limba permite legarea câmpurilor de componente și evenimente pentru proprietățile de fasole pojo și metode.
  • Restricțiile de conversie și validare pot fi specificate în Facelets și sunt aplicate automat, ducând în mod normal la repostirea aceleiași pagini cu informații de eroare în caz de eșec.
  • Navigarea se poate face prin regulile fișierului de configurare sau direct specificate în pagină.
  • Poate suporta în mod transparent Ajax .
  • Concurent : răchită, tapiserie

SiteMesh

  • SiteMesh este un cadru de șabloane HTML bazat pe modelul „Decoration”.
  • Acesta permite crearea unui șablon „decor” care este apoi aplicat oricărui alt HTML pentru a genera un nou HTML.
  • HTML recent generat conține elemente din HTML-ul original amestecat în șablon.
  • Acest lucru permite HTML-ul original să fie foarte simplu și lipsit de orice formatare sau specificație de aspect. Șablonul, la rândul său, este lipsit de informații reale.
  • Amestecarea celor două permite un aspect și un sentiment consecvent pentru toate paginile web .
  • Concurent : Placi

Scânteie

  • Spark un cadru micro web construit în jurul unui sistem de rutare simplu
  • Se rulează în mod implicit pe un server web Jetty încorporat , dar poate fi configurat pentru a rula pe alte servere web.
  • Acceptă trei motoare diferite de șabloane: Velocity , FreeMarker și Mustache
  • Acesta urmărește să faciliteze dezvoltarea rapidă și nu folosește adnotări sau soluții proprii.


Vezi si