Apache Wicket is a Component based Java web application framework that takes simplicity, separation of concerns and ease of development to a whole new level. Component based frameworks build pages from reusable components, the way you build a windows GUI application. Wicket strives for a clean separation of role of a HTML Page designer and a Java Developer by supporting plain vanilla HTML templates that 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 first-class component model backed by POJO data beans that can easily be persisted using your favorite technology. Wicket counters the statelessness of HTTP by providing a stateful component model, thereby improving productivity. If you are looking to home your object-oriented programming skills , then Wicket fits like a groove in that respect as well, since it has an architecture and rich component suite that encourages clean object oriented design.