Java view technologies and frameworks: Difference between revisions

Content deleted Content added
dab ajax
lx, s.a.
Line 1:
Various '''Java [[Web application frameworks]]''' have appeared in recent years. Some of them are in [[Competition|direct competition]], while others are complementary technologies. It is therefore necessary to understand where exactly each technology/framework fits into the J2EE[[JEE]] scheme of things. This page lists the [[Model–view–controller|View]] technologies. These are the frameworks which are used for defining the web pages and the server-side programs which handle the requests (clicks) generated by the web pages.
 
==At a glance==
Line 6:
! HTTP Paradigm
! Component Paradigm
! [[Templating]]
|-
| [[Struts]]
| [[Wicket]]
| [[Tiles]]
|-
|
| [[Tapestry]]
| [[SiteMesh]]
|-
|
| [[JSF]]
| [[Facelets]]
|-
|
| Jt Design Patterns
| [[Apache Click]]
|}
* Struts is relatively easier to use for beginners because it contains the familiar HTTP paradigm of Request/Response. However, the Component based frameworks are architecturally superior, and usually recommended for creating more complex [[web application]]s.
Line 35:
==Servlet API==
* This is the foundation of almost all Java View technologies.
* It provides the basic framework for writing Java classes, called 'Servlets[[Servlet]]s' that can respond to HTTP Requestsrequests, create Cookiescookies and maintain Sessionssessions.
 
==JSP==
Line 42:
 
==Struts==
* Built on top of the Servlet API, Struts provides for [[decoupling]] between the Controller and the View.
* Requests are received by a Java Class (Controller) which can decide which View to display.
* The actual View is written as a JSP page.
Line 50:
==Tiles==
* This is a HTML templating framework based on the "Composite" model.
* It allows for the HTML page to be broken up into multiple pagelets[[pagelet]]s, called Templates, Definitions and Composing pages.
* At [[run time]] the pagelets are stitched together to generate the final HTML. Pages are written in JSP.
* '''Competitor''': SiteMesh
Line 87:
{{Portal|Java}}
<!-- formatting; please do not remove until some more text lines are added to compensate spacing -->
 
==See also==
*[[List of web service frameworks]]
 
==References==