Open Source Web Frameworks in Java

Struts Struts Frame work is the implementation of Model-View-Controller (MVC) design pattern for the JSP. Struts is maintained as a part of Apache Jakarta project and is open

Open Source Web Frameworks in Java

Open Source Web Frameworks in Java

  1. Struts
    Struts Frame work is the implementation of Model-View-Controller (MVC) design pattern for the JSP. Struts is maintained as a part of Apache Jakarta project and is open source. Struts Framework is suited for the application of any size. Latest version of struts can be downloaded from http://jakarta.apache.org/.
     
  2. Turbine
    Turbine is a servlet based framework that allows experienced Java developers to quickly build web applications. Turbine allows you to use personalize the web sites and to use user logins to restrict access to parts of your application.
     
  3. Expresso Framework
    A powerful, open standards-based, enterprise-strength J2EE architectural framework providing a library of extensible application development components for quickly building web-based applications.
     
  4. Tapestry
    Tapestry is a powerful, open-source, all-Java framework for creating leading edge web applications in Java. Tapestry reconceptualizes web application development in terms of objects, methods and properties instead of URLs and query parameters. Tapestry is an alternative to scripting environments such as JavaServer Pages or Velocity. Tapestry goes far further, providing a complete framework for creating extremely dynamic applications with minimal amounts of coding. 
     
  5. WebWork
    WebWork is a Java web-application development framework. It is built specifically with developer productivity and code simplicity in mind. WebWork is built on top of XWork, which provides a generic command pattern framework as well as an Inversion of Control container. In addition to these features, WebWork provides robust support for building reusable UI templates, such as form controls, UI themes, internationalization, dynamic form parameter mapping to JavaBeans, robust client and server side validation, and much more.
     
  6. Apache Cocoon
    Apache Cocoon is a web development framework built around the concepts of separation of concerns and component-based web development. Cocoon implements these concepts around the notion of 'component pipelines', each component on the pipeline specializing on a particular operation. This makes it possible to use a Lego(tm)-like approach in building web solutions, hooking together components into pipelines without any required programming. Cocoon is "web glue for your web application development needs". It is a glue that keeps concerns separate and allows parallel evolution of all aspects of a web application, improving development pace and reducing the chance of conflicts.
     
  7. Spring
    Spring is a layered Java/J2EE application framework, based on code published in Expert One-on-One J2EE Design and Development.
     
  8. Maverik
    Maverick is a Model-View-Controller (aka "Model 2") framework for web publishing using Java and J2EE. It is a minimalist framework which focuses solely on MVC logic, allowing you to generate presentation using a variety of templating and transformation technologies. In principle it combines the best features of Struts, WebWork, and Cocoon2.
     
      
  9. Anvil
    Anvil is a Java based server environment and object oriented programming language with templating support, being especially well-suited to for web applications.
      
  10. Jaffa
    JAFFA is aimed at Software development projects that want to focus their energy on building Business Functionality, without spending time on developing the underlying architecture. The JAFFA Project intends to provide a real world application framework, and then build a community of developers around that, who all want an open standards based framework that they can invest in, for building their specific applications on.
      
  11. Japple
    Japple is a rapid application development environment for building web applications and services. Built on the JavaTM2 Platform and open-standards, Japple allows you to develop and deploy web applications faster, easier and more efficiently than traditional methods.
     
  12. JPublish
    JPublish is a powerful web publishing system designed to ensure a clean separation of developer roles. JPublish includes support for multiple templating engines, including Jakarta Apache's Velocity, FreeMarker and WebMacro. JPublish supports numerous scripting languages including Python, BeanShell, and JavaScript. JPublish is modular and provides for easy extensibility.
     
  13. Jucas
    Jucas is a web-framework which brings together the pull MVC concept with component orientated design GUI programming. 

    Struts (like other Model II frameworks) have brought the separation between View and Model and Controler to the web programming. On the other hand recent frameworks like Java Server Faces (JSF) or ASP.NET try to provide the advantages of object (component) orientated GUI-Design known from 'fat-client' apis like Swing or Visual Basic (stateful objects, event-mechanismus). 

    Jucas combines both approaches. Stateful components (JavaBeans) are used to represent the model and the controller and templates use this components to render the view.
     
  14. MyFaces
    JavaServer(tm) Faces is a new and upcoming web application framework that accomplishes the MVC paradigm. It is comparable to the well-known Struts Framework but has features and concepts that are beyond those of Struts. 
    Look at Sun's JavaServer(tm) Page to learn more about the Java Specification Request 127 and to download the specification. They also provide a useful Tutorial there. 
     
  15. WebOnSwing
    WebOnSwing is a revolutionary multiple environment application framework that allows you to create web applications in the same way you develope a desktop one. You dont need to use JSP files, special tags, XML files, requests, posts, etc. Everything is Java and pure HTML files that comes directly from the graphic designer. 
     
  16. Chrysalis
    Chrysalis is a Java web development framework. It has a different focus from most Model-View-Controller (MVC) web frameworks. Chrysalis controllers resemble normal Java classes with multiple methods. Client request URLs are mapped to each controller method. The typical MVC framework is founded on one basic insight: that Java servlets can be treated as an event handler for the submit button of HTML forms. This makes servlets analogous to the controller in the MVC pattern, equivalent to the Listener classes used in Java GUIs. From this insight, the rest of the pattern follows easily (see Struts for the most popular implementation of this approach).
      
  17. VRaptor
    VRaptor is a Model-View-Controller web application framework that tries to implement the best features from the following state of art MVC frameworks: WebWork 2, Spring Framework and Struts. It is highly focused on the Inversion of Control principles, using the Constructor Injection philosophy brought by the PicoContainer.
     
  18. Swinglets
    Program your JSP & Servlets like you program your Swing components. Swinglets is a server side component library that uses an identical design to Swing. Swinglets has look and feels for HTML, JavaScript and WML. The Components, Models, Renderers, and LookAndFeels are very similar. It has Swing event handling too. In fact Swinglets actually uses the Swing models (e.g. TableModel). This means you can take your existing models and start working with Servlets straight away. It's just about as close to a standard as you can get without it actually coming from Sun themselves.
     
  19. Millstone
    Millstone is a user interface library for development of networked Java applications. It provides a terminal independent component model that can be adapted to different terminal types and user interface themes. The development model of Millstone is closely related to traditional client side UI development: it has a continuous application lifecycle and an extensive event model. The Millstone library also provides an interface for directly connecting UI components to business logic and data storage.
     
  20. Wicket
    Wicket is a Java web application framework that takes simplicity, separation of concerns and ease of development to a whole new level. Wicket pages can be mocked up, previewed and later revised using standard WYSIWYG HTML design tools. Dynamic content processing and form handling is all handled in Java code using a Swing-like component model backed by POJO data beans that can easily be persisted with Hibernate.