JSF vs. JSP
JavaServer Faces (også kendt som JSF) er en webapplikationsramme, der er baseret i Java. Dets hovedmål er at forenkle udviklingsintegration af brugergrænseflader, der er webbaserede. Det er en anmodningsdrevet Model View Controller (eller JVM). Denne specifikke JVM er baseret på komponentdrevet UI-designmodel, der bruger XML-visningsskabeloner eller Facelet-visninger. Anmodninger, der løb gennem JSF, behandles af FacesServlet. Denne komponent indlæser den nødvendige skabelon, bygger et komponenttræ, behandler begivenheder og gengiver svaret - som normalt er i HTML.
JavaServer Pages (også kendt som JSP) er en Java-baseret teknologi, der specifikt bruges til at hjælpe softwareudviklere med at tjene dynamisk genererede websider (såsom HTML og XML) samt andre dokumenttyper, der er relevante for udviklingen af interaktivt webindhold. Det blev specifikt oprettet for at besvare den skepsis, som de fleste webudviklere havde angående Java-platformens evne til at give udviklere nok støtte til internettet.
Kerneegenskaberne i JSF inkluderer, men er ikke begrænset til, Managed Beans, som er et afhængighedsinjektionssystem; et skabelonbaseret komponentsystem, der bruges til hurtig komponentsammensætning; og to XML-baserede tagbiblioteker, der bruges til at udtrykke en JSF-interface i en visningskabelon.
Til alle formål er JSP en sofistikeret Java-servlet. JSP'er indlæses på serveren og fra Java EE Web-applikationen, betjenes og pakkes som .war- eller .ear-filarkiver. Det tillader Java-kode og specifikke foruddefinerede handlinger at kommunikere med statisk webmarkup-indhold. Den side, der er resultatet af denne interaktion, kompileres og udføres på denne specifikke server og ses som et HTML- eller XML-dokument. Det består af to meget specifikke syntaksformater: scriptlet og markup-et scriptlet, der blot er blokke af Java-kode, der er blandet med markup, som er standard HTML eller XML. JSP-sider skal kompileres til Java bytecode klasser for at kunne udføres. Imidlertid forekommer denne kompilering kun virkelig en gang, hver gang en ændring finder sted i JSP-kildefilen. Dette skyldes, at Java er et kompileret sprog og ikke et script-sprog - hvilket betyder, at koden i det væsentlige skal oversættes for at gøre JSP-kompatibel med serveren.
Resumé:
1. JSF er en webapplikation, der bruges til at forenkle udviklingsintegration af webbaserede brugergrænseflader; JSP er en Java-baseret teknologi, der specifikt bruges til at hjælpe softwareudviklere med at skabe dynamiske websider.
2. JSF indeholder flere kernefunktioner, herunder, men ikke begrænset til, Managed Beans, et skabelonbaseret komponentsystem og to XML-baserede tagbiblioteker; JSP skal kompileres i Java-bytecode for at fungere korrekt.