Wicket
03:27Show all | Close all
-
Overview
-
What is framework
Framework is set of reusable software program that forms the basis for an application. Frameworks helps the programmers to build the application quickly. Earlier it was very hard to develop complex web applications. Now its very easy to develop such application using different kinds of frameworks such as Struts, Struts 2, Hibernate, JSF, Tapestry, JUnit, Log4j, Spring etc. In Java technology there are so many frameworks that helps the programmers to build complex applications easily. You can choose these frameworks for building your applications.
Software framework
Framework software in computer system is a layered structure that indicates what kind of program should be built and how they would interrelate to one another. In computer system, a framework is a conceptual structure that sometime includes actual programs, which specify programming interface or offer programming tools for using the frameworks. -
Java Collection Framework
We have tried you to make a walk through the Collection Framework. The Collection Framework provides a well-designed set if interface and classes for sorting and manipulating groups of data as a single unit, a collection.
The Collection Framework provides a standard programming interface to many of the most common abstractions, without burdening the programmer with too many procedures and interfaces.
The Collection Framework is made up of a set of interfaces for working with the groups of objects. The different interfaces describe the different types of groups. For the most part, once you understand the interfaces, you understand the framework. While you always need to create specific, implementations of the interfaces, access to the actual collection should be restricted to the use of the interface methods, thus allowing you to change the underlying data structure, without altering the rest of your code.
When designing software with the Collection Framework, it is useful to remember the following hierarchical relationship of the four basic interfaces of the framework.
- The Collection interface is a group of objects, with duplicates allowed.
- Set extends Collection but forbids duplicates.
- List extends Collection also, allows duplicates and introduces positional indexing.
- Map extends neither Set nor Collection
-
Types of Framework
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
- 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/.
- 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.
- 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.
- 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.
- 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.
- 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.
- Spring
Spring is a layered Java/J2EE application framework, based on code published in Expert One-on-One J2EE Design and Development.
- 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.
- Anvil
Anvil is a Java based server environment and object oriented programming language with templating support, being especially well-suited to for web applications.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- Struts
-
-
Apache wicket framework
Apache Wicket, commonly referred to as Wicket, is a lightweight component-based web application framework for the Java programming language conceptually similar to JavaServer Faces and Tapestry. It was originally written by Jonathan Locke in April 2004. Version 1.0 was released in June 2005. It graduated into an Apache top-level project in June 2007. -
Design
Wicket uses plain XHTML for templating (which enforces a clear separation of presentation and business logic and allows templates to be edited with conventional WYSIWYG design tools[3]). Each component is bound to a named element in the XHTML and becomes responsible for rendering that element in the final output. The page is simply the top-level containing component and is paired with exactly one XHTML template. Reuseable parts of pages may be abstracted into components called panels, which can then be pulled whole into pages or other panels with a special tag. Each component is backed by its own model, which represents the state of the component. The framework does not have knowledge of how components interact with their models, which are treated as opaque objects automatically serialized and persisted between requests. More complex models, however, may be made detachable and provide hooks to arrange their own storage and restoration at the beginning and end of each request cycle. Wicket does not mandate any particular object-persistence or ORM layer, so applications often use some combination of Hibernate objects, EJBs or POJOs as models. -
Sample Example for wicket framework
A Hello World Wicket application, with four files:
- HelloWorld.html
- The XHTML template.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd" xml:lang="en" lang="en"> <body> <span wicket:id="message" id="message">Message goes here</span> </body> </html>
- HelloWorld.java
- The page component that will be bound to the template. It, in turn, binds a child component (the Label component named "message").
package org.wikipedia.wicket; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; public class HelloWorld extends WebPage { /** * Constructor */ public HelloWorld() { add(new Label("message", "Hello World!")); } }
- HelloWorldApplication.java
- The main application class, which routes requests for the homepage to the HelloWorld page component.
package org.wikipedia.wicket; import org.apache.wicket.protocol.http.WebApplication; public class HelloWorldApplication extends WebApplication { /** * Constructor. */ public HelloWorldApplication() { } /** * @see org.apache.wicket.Application#getHomePage() */ public Class getHomePage() { return HelloWorld.class; } }
- web.xml
- The servlet application Deployment Descriptor, which installs Wicket as the default handler for the servlet and arranges for HelloWorldApplication to be instantiated at startup.
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Wicket Example</display-name> <filter> <filter-name>HelloWorldApplication</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationClassName</param-name> <param-value>org.wikipedia.wicket.HelloWorldApplication</param-value> </init-param> </filter> <filter-mapping> <filter-name>HelloWorldApplication</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
-
Versions
Older news items
-
Apache Wicket 6.1.1 released - 08 Oct 2012
The Apache Wicket PMC is proud to announce Apache Wicket 6.1.1! This release marks the first patch release of Wicket 6. Starting with Wicket 6... more -
Apache Wicket 6.1.0 released - 04 Oct 2012
The Apache Wicket PMC is proud to announce Apache Wicket 6.1.0! This release marks the first maintenance release of Wicket 6. Starting with Wicket 6... more -
CVE-2012-3373 - Apache Wicket XSS vulnerability - 06 Sep 2012
Vendor: The Apache Software Foundation Versions Affected: Apache Wicket 1.4.x and 1.5.x Description: It is possible to inject JavaScript statements into an ajax link by... more -
Apache Wicket v6.0.0 released - 05 Sep 2012
“With great pleasure we announce the availability of Apache Wicket 6.0.0” – Martijn Dashorst, Vice President, Apache Wicket Apache Wicket v6.0.0 is the 6th major... more -
Wicket 1.4.21 released - 05 Sep 2012
This is 21st release of the Wicket 1.4.x series. This is also the last release of the 1.4.x series, rounding up the remaining bugfixes. No... more -
Wicket 1.5.8 released - 24 Aug 2012
This is the eighth maintenance release of the Wicket 1.5.x series. This release brings over 45 bug fixes and improvements. Git tag Changelog To use... more -
Wicket 6.0.0-beta3 released - 16 Jul 2012
The Wicket team is proud to announce the third beta release of the Wicket 6.x series. This release is an intermediary release just before we... more -
Wicket Native WebSockets support - 20 Jun 2012
A new experimental module just landed in Wicket’s Git repository - Wicket Native WebSocket. It provides the support for HTML5 WebSockets in Wicket as the... more -
Wicket 1.5.7 released - 04 Jun 2012
This is the seventh maintenance release of the Wicket 1.5.x series. This release brings over 26 bug fixes and improvements. Git tag Changelog To use... more -
Wicket 6.0.0-beta2 released - 29 May 2012
The Wicket team is proud to announce the second beta release of the Wicket 6.x series. This release brings over many improvements over the 1.5.x... more
-
Apache Wicket 6.1.1 released - 08 Oct 2012
Download
Click here to download Wicket (All Version).
0 comments: