Apache Wicket Component Based Web Development Framework.

Slides:



Advertisements
Similar presentations
Apache Wicket Gerolf Seitz. Web Development with just Java and a little bit of HTML.
Advertisements

A Blackboard Building Block™ Crash Course for Web Developers
MVC in JavaEE 8 Manfred Riem Principal Member of Technical Staff September, 2014 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
Does Ajax suck? CS575 Spring 2007 Chanwit Suebsureekul.
{ Apache - Click By, By, Anupam Mundale. Anupam Mundale. Viraj Kulkarni. Viraj Kulkarni.
TimeTracker 2, Take 1  Servlets Web Interface (jsp) Servlet (business logic and processing) App Engine Datastore Form Submit R/W.
Apache Wicket: web applications with just Java Xavier Hanin JavaZone ‘07.
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
Stateful Web Application Development with Spring Web Flow John Case Senior Consultant Centare Group, Ltd.
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Struts 2.0 an Overview ( )
UNIT-V The MVC architecture and Struts Framework.
Lecture 2 - Struts ENTERPRISE JAVA. 2 Contents  Servlet Deployment  Servlet Filters  Model View Controllers  Struts  Dependency Injection.
Java Server Pages (JSP) Presented by: Ananth Prasad & Alex Ivanov May 10, 2001.
MVC 1.0 Manfred Riem Oracle Geertjan Wielenga Oracle Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Java Server Faces Çağatay Çivici Apache MyFaces Team Member
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
MVC pattern and implementation in java
Pittsburgh Java User Group– Dec Java PureFaces: A JSF Framework Extension.
Cost Benefit Open Source Solutions By Eyal Golan – Senior Java Tikal Knowledge Introduction to.
CSCI 6962: Server-side Design and Programming Introduction to AJAX.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
ASP.NET and Model View Control Jesper Tørresø ITNET2 F08.
JDeveloper 10g and JavaServer Faces: High-Performance UIs on the Web Avrom Roy-Faderman Senior Programmer May, 2006.
Design Patterns Phil Smith 28 th November Design Patterns There are many ways to produce content via Servlets and JSPs Understanding the good, the.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Architecture.
JSP Fundamentals Elements of a JSP Using Beans with JSP Integrating Servlets and JSP.
JSF Framework Java Server Faces Presented by Songkran Totiya (6/10/2014)
Service Side Ajax Richard Schmidt gmail. Com Metservice.
Frameworks CompSci 230 S Software Construction.
JavaServer Faces (JSF) and Ajax Integration. Agenda 대강의 ( 정말로..) 개요 예제 아키텍트라면..
Model View Controller Architecture of Java Web Applications Dr. M V S Peri Sastry, Ph.D.[BITS-Pilani]
Getting Started with ASP.NET MVC BRIJ BHUSHAN MISHRA.
Model View Controller MVC Web Software Architecture.
Getting started with ASP.NET MVC Dhananjay
Nested componentization for advanced Web portal solutions Svebor Prstačić, dipl. ing., Dr. sc. Ivan Voras, Dr. sc. Mario Žagar.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring MVC Essentials Getting started.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Team Members Tyler Lamb Kirk Olson James Woestman IRP Presentation Client Zirous Inc. Faculty Advisor Tien Nguyen 1.
Web Technologies Lecture 6 State preservation. Motivation How to keep user data while navigating on a website? – Authenticate only once – Store wish list.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Overview of the Spring Framework Introducing.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
By Jonathan Smith. Road Map Introduction Company Information Project Overview Java Web Design and Development Summary Relation to IUP Acknowledgments.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Vineel Vutukuri. What is SPA? Why SPA? Pros & Cons When to use SPA?
© Copyright SELA software & Education Labs Ltd Baruch Hirsch St.Bnei Brak Israel
Project Dynamic Faces World Class AJAX for JavaServer™ Faces Technology Ed Burns Senior Staff Engineer Enterprise Java Platforms.
Apache Wicket: web applications with just Java
Angular 4 + TypeScript Getting Started
Field of Dreams An Online Sporting Goods Marketplace
W3C Web standards and Recommendations
MVC and other n-tier Architectures
Enterprise Computing Collaboration System Example
Processes The most important processes used in Web-based systems and their internal organization.
Unit 6-Chapter 2 Struts.
PHP / MySQL Introduction
JavaScript Introduction
Java Web Application Framework
Building an Integrable XBRL Portal Daniel Hamm German Central Bank
Lecture 1: Multi-tier Architecture Overview
Java Server Pages (JSP)
ASP.NET Module Subtitle.
RESTful Web Services.
ASP.NET and Model View Control
Presentation transcript:

Apache Wicket Component Based Web Development Framework

Wicket Agenda: What is Wicket? Why use Wicket? Core Wicket Concepts There is an overwhelming number of Java web frameworks available today, primarily distinguished by two main groups, Traditional – or – request based (Struts, Spring MVC…) and Component Based (Wicket, Tapestry...). What is Wicket? Why use Wicket? Core Wicket Concepts A few Wicket examples

What is Wicket? Open Source Component Based Pure Java & HTML Enables component oriented, programmatic manipulation of markup Pure Java & HTML Clean separation of Java and HTML The mission: bringing object oriented programming to the web application view layer

Why use Wicket? Integration State management Clustering support Spring Guice Hibernate and more… State management Clustering support Back button support

Why use Wicket cont.. Ajax support without writing JavaScript! Integration with some JavaScript libraries such as jQuery URL Mounting Pretty URLs Component Level Security

Core Wicket Concepts: Pages & Panels The four most important wicket concepts that require understanding by any user, are Session, Components, Models, and Behaviors. Without these four main concepts you cannot manage dataflow throughout your wicket application. Pages & Panels Session Components Models Behaviors

Pages & Panels Page: Panel A representation of what is to be displayed to the user when the page is loaded. Consists of HTML & Java May contain 1 … N panels Panel Reusable displayable component

Wicket and Sessions Stores Session specific data Locale, client info Wicket’s Session is an implementation of java’s HttpSession. Stores Session specific data Locale, client info Logged in user Shopping cart contents Page history and back button support And whatever else you need to maintain..

Sessions are EASY with Wicket class MySession extends WebSession { private ShoppingCart cart; public ShoppingCart getCart() { … } public void setCart(ShoppingCart cart) { … } } mysession.setCart(new ShoppingCart()); The sessions is accessible from ALL pages / panels

Components! The ultimate superclass! Encapsulate the programmatic manipulation of markup. May receive events onClick, onSubmit, etc.. Know how and when to render themselves

How components work. HTML Markup Java Code <h1 wicket:id=“title”/> <input wicket:id=“firstName”/> Behaviors: <button wicket:id=“addUser" type="submit" class="positive“> <b>Add User</b></button> new Label(“title”, “It’s a Title!”); new TextField(“firstName", new PropertyModel(user, " firstName ")); Behaviors new Button(" addUser ", new Model<String>("Add User")) { @Override public void onSubmit() { // do something here!!! }

Component Validation Input validation is key in all web applications, fortunately Wicket makes this easy! TextField phoneNumberInput = new TextField("phoneNumberInput", new PropertyModel(currentUser, "phoneNumber")); phoneNumberInput.setRequired(true) .add(new StringValidator.ExactLengthValidator(10)) .add(new PatternValidator("[0-9]*"));

Creating your own Components Wicket is designed and intended for extension, if the provided components don’t do EXACTLY what you want, you can easily extend any of them!

<<Person>> Wicket Models Models bind your POJO’s to Wicket components Label(“name”, model) <<Person>> +name : String +city : String PropertyModel

Example Models: PropertyModel: In Code: new PropertyModel(person, “name”) new PropertyModel(person, “address.street”) In Code: Person person = new Person(); new TextField(“firstName", new PropertyModel(person, "firstName"));

Examples and Q & A