Strecks Java 5 Extensions

Size: px
Start display at page:

Download "Strecks Java 5 Extensions"

Transcription

1 Strecks Java 5 Extensions Presented by Phil Zoio, Realsolve Solutions March 17, 2006 (1)

2 Agenda Background and introduction The Details Form validation Data binding and conversion Actions Interceptors Navigation Concluding comments (2)

3 About Struts Most successful Java web framework First widely adopted MVC Model 2 framework Proven on thousands of projects Ground-breaking in its time but these days: Not universally popular Overtaken by other frameworks Various Struts initiatives Shale Struts Action 2 (WebWork integration) (3)

4 Some Background In-depth experience last year with Component-based frameworks (Tapestry/JSF) Dependency injection (Spring) Java 5 Requirement to build new web application in Struts Initially reluctant didn't want to forgo advanced features Decided to add features to existing Struts After completion of project Internal refactoring Additional features added To be open sourced Provisional name Strecks (4)

5 About Strecks Java 5 Extensions Built on existing Struts 1.2.x code base Main features include Pure POJO action beans Action dependency injection Action controllers Interceptors Form validation using annotations Data conversion and binding using annotations Pluggable navigation (5)

6 Strecks design goals offer or even improve on features offered by competitive frameworks simplify, not replace, existing Struts programming model no major high level architectural changes actions, action forms, etc. still present, but enhanced UI and configuration unchanged don't air your dirty linen in public users don't want to see framework internals introduce no compatibility issues apart from Java 5 keep easy to learn for existing Struts users (6)

7 (7) Strecks - The Details

8 (8) Form Validation

9 Form Validation in Struts 1.2 Manual validation code verbose and tedious XML-based validations using Validator framework not ideal: Large validation file Verbose format XML Hell (9)

10 Form Validation Struts 1.2 Example (10) if (days == null) { ActionMessage error = new ActionMessage("holidaybookingform.days.null"); errors.add("days", error); haserror = true; else { if (!GenericValidator.isInt(days)) { ActionMessage error = new ActionMessage("holidaybookingform.days.number ); errors.add("days", error); haserror = true;

11 Form Validation in Strecks Still uses ActionForm Interface between view layer and action forms unchanged Validation (and binding) layer within ActionForm Implement marker interface AnnotatedForm annotations to setters validate() method will still be called for additional (manual validation) Application not exposed to framework internals (11)

12 Form Validation Strecks = = "holidaybookingform.days.number") public void setdays(string days) { this.days = days; (12)

13 Adding Form Validators Easy to add validators Validator implements Validator interface public boolean validate(t value); Validator instance created by ValidatorFactory ValidatorFactory class identified by annotation Validation parameters passed in via annotation Called the Annotation Factory pattern Consequence: full extensibility with No XML No existing file changes (13)

14 (14) Data Binding And Conversion

15 Binding and Conversion in Struts 1.2 Use of richly typed ActionForms tricky No per-field control of type conversion Manual data binding code verbose and tedious (15)

16 Bind and Conversion Struts 1.2 Example public void readfrom(holidaybooking booking) { if (booking!= null) { if (booking.getstartdate()!= null){ this.startdate = new java.sql.date(booking.getstartdate().gettime()).tostring(); public void writeto(holidaybooking booking) { if (this.startdate!= null && this.startdate.trim().length() > 0) booking.setstartdate(java.sql.date.valueof(startdate)); (16)

17 Binding and Conversion in Strecks As with validation Binding and conversion layer within ActionForm Implement marker interface AnnotatedForm to annotations getters Add getters and setters for domain model objects Controller will call bind handlers Application not exposed to framework internals (17)

18 Bind and Conversion Strecks Example private HolidayBooking = = "yyyy-mm-dd") public String getstartdate() { return startdate; (18)

19 Adding Bind Handlers Bind handler implements BindHandler interface BindHandler instance created by BindHandlerFactory public void bindinwards(object src, String property); public void bindoutwards(object src, String property); BindHandlerFactory class identified by annotation Binding parameters passed in via annotation Converter class can be specified in annotation (19)

20 Adding Stand-alone Type Converters Converter can also be specified in own annotation Converter annotation in same method as bind annotation Converter implements Converter interface public T totargettype(s toconvert); public S tosourcetype(t toconvert); Converter instance created by Converteractory ConverterFactory class identified by annotation Converter parameters passed in via annotation Decouples bind handler and converter definition Used when converter must be parameterized (20)

21 (21) Dependency Injection

22 Dependency Resolution in Struts 1.2 State held in request, session and context attributes Verbose API Type casting necessary Not very object oriented Manual conversion of request parameters Service layer references obtained via programmatic hooks (22)

23 Dependency Resolution Struts 1.2 Example public ActionForward execute(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //use Spring ActionSupport superclass to get context HolidayBookingService service = (HolidayBookingService) getwebapplicationcontext().getbean( "holidaybookingservice"); long id = Long.parseLong(request.getParameter("holidayBookingId")); HolidayBooking holidaybookings = service.getholidaybooking(id); request.setattribute("holidaybooking", holidaybookings); return mapping.findforward("success"); (23)

24 Strecks Dependency Injection Actions instantiated on per-request basis Dependencies resolved declaratively via annotations Support for: Typed request parameters (using Converter) Request, session, application context attributes Spring beans, message resources, locale, ActionForm etc... (24)

25 Dependency Injection Strecks Example public String execute() { HolidayBooking holidaybookings = service.getholidaybooking(holidaybookingid); webhelper.setrequestattribute("holidaybooking", holidaybookings); return = "holidaybookingservice") public void setservice(holidaybookingservice service) { this.service = service; = true) public void setholidaybookingid(long holidaybookingid){ this.holidaybookingid = holidaybookingid;

26 Adding Dependency Injection Mechanisms Injection handler implements InjectionHandler interface public Object getvalue(actioncontext context); InjectionHandler instance created by InjectionHandlerFactory InjectionHandlerFactory class identified by annotation Injection parameters passed in via annotation Injection possible for any data obtained via request, response, application context, action mapping, action form (26)

27 (27) Actions and Controllers

28 Actions in Struts 1.2 Actions must be thread-safe No request-specific instance fields Request dependency injection impossible Single inheritance hierarchy Difficult to reuse request processing logic (28)

29 Actions in Strecks Implemented by combination of action controller and action bean Controller implements common request workflow Action bean handles domain-specific processing tasks (29)

30 Action Beans Pure POJOs Registered in struts-config.xml Identify controller using annotation Implement controller-defined interface Dependencies resolved via dependency injection Any request processing pattern can be abstracted into a controller. Action beans handle the fine grained domain specific action interactions (30)

31 Action Bean Example = BasicSubmitController.class) public class SubmitEditBookingAction implements BasicSubmitAction { public String cancel() { //implementation ommitted; public String execute() { //implementation omitted //injected properties (31)

32 Action Beans Example Implementation public String cancel() { webhelper.setrequestattribute("displaymessage", "Cancelled operation"); webhelper.removesessionattribute("holidaybookingform"); return "success"; public String execute(){ HolidayBooking holidaybooking = form.getbooking(); holidaybookingservice.updateholidaybooking(holidaybooking); webhelper.setrequestattribute("displaymessage", "Successfully updated entry: " + holidaybooking.gettitle()); webhelper.removesessionattribute("holidaybookingform"); return "success"; (32)

33 Action Controllers Defines action bean's interface Implement request processing workflow Instantiates action bean per request Interacts with action bean through interface Single instance, holds no request state Various out the box implementations, including form handling controllers dispatch controllers Single controllers reusable across many actions (33)

34 Controller Implementation = BasicSubmitAction.class) public class BasicSubmitController extends BaseBasicController protected ViewAdapter executeaction(object actionbean, ActionContext context) { BasicSubmitAction action = (BasicSubmitAction) actionbean; //omitted... figure out whether form is cancelled if (form instanceof BindingForm &&!cancelled) { //omitted... do binding and call prebind(); (34) String result = cancelled? action.cancel() : action.execute(); return getactionforward(context, result);

35 Action Bean Annotations Framework for adding behaviour through annotations ActionBeanAnnotationReader interface Extends contract between controller and action bean Fully extensible: no XML or source file changes Uses: Reading dependency injections Pluggable navigation Action bean source Singleton action beans (planned) Dispatch method lookup (35) Action-specific interceptors (planned)

36 (36) Interceptors

37 About Interceptors Most web applications have common operations: Logging Authentication Custom state management etc. In Struts 1.2, implemented either via: RequestProcessor subclasses Common Action base classes Interference with inheritance hierarchy (37)

38 Interceptors in Strecks Interceptor interfaces BeforeInterceptor AfterInterceptor Interceptors registered via configuration BeforeInterceptor Called after dependency injection Interrupt execution by throwing exception AfterInterceptor called before view handling Exceptions simply logged Neither can return navigation result (38)

39 Interceptor Example - Strecks public class ActionLoggingInterceptor implements BeforeInterceptor, AfterInterceptor { public void beforeexecute(object actionbean, ActionContext context) { HttpServletRequest request = context.getrequest(); log.info("starting action for " + request.getrequesturi()); log.info("using " + actionbean.getclass().getname()); public void afterexecute(object actionbean, ActionContext context) { HttpServletRequest request = context.getrequest(); log.info("ended action for " + request.getrequesturi()); (39)

40 Struts Extensions Action Invocation Controller Request Processor Controller Delegate Controller Action POJO Action Bean Interceptors extends RequestProcessor minimal implementation Implements extended behaviour Extends Action Implements request workflow POJO with DI Named in struts-config.xml IDs controller using annotations Either pre- or post Module-specific zero or more delegates to instantiates, injects dependencies beforeexecute() execute() Action Forward calls methods, executes workflow afterexecute() (40)

41 (41) Navigation

42 Navigation in Struts 1.2 Navigation via returning ActionForward Can be created manually or via actionmapping.findforward() But limited support for alternative view rendering Typically implemented: Within action, with null ActionForward returned Forwarding to external servlet (e.g VelocityStruts) (42)

43 Navigation in Strecks Two sets of controller implementations public String method() result gets ActionForward (outcome-based navigation) other uses pluggable navigation annotation Convenient solution vs flexible solution (43)

44 Basic Controller = BasicController.class) public class ExampleBasicAction implements BasicAction { private String message; public String execute() { message = "Executed " + ExampleBasicAction.class.getName(); return "success"; // public String getmessage() { return message; (44)

45 Navigable Controller = NavigableController.class) public class ExampleNavigableAction implements NavigableAction { private String message; public void execute() { message = "Successfully public String getresult() { return "success"; (45) public String getmessage(){ return message;

46 More on Navigation Controllers return ViewAdapter (not ActionForward) ActionForwardViewAdapter class RenderingViewAdapter interface ViewAdapter allows support for alternative view rendering mechanisms Allows, for example, rendering via Spring views AJAX, Remoting, XSLT, etc. easily supported Support for page classes for supporting formatting logic Support for redirect after post (46)

47 (47) Summary

48 Conclusion Strecks's aim has been to: Match the simplicity of Struts Match the validation and type conversion power of JSF/Tapestry Match the flexibility of Spring MVC and WebWork (48)

49 Who Should Use Strecks? Good solution for enterprises which: Have invested in Struts Developer knowledge Existing applications Want to take advantage of powerful Java 5 features Want a framework supporting modern best practices Ease of testability Use of interfaces, design patterns & good OOP dependency injection Want these features now BUT Don't want the pain of a bigger migration (49)

50 Current Status Ready for open source release Nearly version 1.0 ready Should be announcement very shortly Any help would be appreciated... (50)

Struts: Struts 1.x. Introduction. Enterprise Application

Struts: Struts 1.x. Introduction. Enterprise Application Struts: Introduction Enterprise Application System logical layers a) Presentation layer b) Business processing layer c) Data Storage and access layer System Architecture a) 1-tier Architecture b) 2-tier

More information

The Struts MVC Design. Sample Content

The Struts MVC Design. Sample Content Struts Architecture The Struts MVC Design Sample Content The Struts t Framework Struts implements a MVC infrastructure on top of J2EE One Servlet acts as the Front Controller Base classes are provided

More information

Struts interview questions

Struts interview questions Struts interview questions 1.What is MVC? Model-View-Controller (MVC) is a design pattern put together to help control change. MVC decouples interface from business logic and data. Model : The model contains

More information

Spring Interview Questions

Spring Interview Questions Spring Interview Questions By Srinivas Short description: Spring Interview Questions for the Developers. @2016 Attune World Wide All right reserved. www.attuneww.com Contents Contents 1. Preface 1.1. About

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

More information

Page 1

Page 1 Java 1. Core java a. Core Java Programming Introduction of Java Introduction to Java; features of Java Comparison with C and C++ Download and install JDK/JRE (Environment variables set up) The JDK Directory

More information

Fast Track to EJB 3.0 and the JPA Using JBoss

Fast Track to EJB 3.0 and the JPA Using JBoss Fast Track to EJB 3.0 and the JPA Using JBoss The Enterprise JavaBeans 3.0 specification is a deep overhaul of the EJB specification that is intended to improve the EJB architecture by reducing its complexity

More information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics Spring & Hibernate Overview: The spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.

More information

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module Java Platform, Enterprise Edition 5 (Java EE 5) Core Java EE Java EE 5 Platform Overview Java EE Platform Distributed Multi tiered Applications Java EE Web & Business Components Java EE Containers services

More information

xcommand Table of contents Sven Ehrke extended command pattern (for Java) Introduction... 1 How others do it

xcommand Table of contents Sven Ehrke extended command pattern (for Java) Introduction... 1 How others do it xcommand extended command pattern (for Java) Sven Ehrke (sven.ehrke@web.de) 10.08.2006 Table of contents Introduction... 1 How others do it... 1 Struts... 2 Webwork... 3 Restlet... 3 Spring MVC... 4 Servlet

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

More information

Migrating from Struts 1 to Struts 2

Migrating from Struts 1 to Struts 2 Migrating from Struts 1 to Struts 2 Matt Raible, Virtuas Open Source Solutions mraible@virtuas.com 2005-2006, Virtuas Open Source Solutions Introductions Your experience with Java? Your experience with

More information

Introducing Struts 2

Introducing Struts 2 Introducing Struts 2 JaMU 07.02 February 24, 2007 Thomas Wiradikusuma (thomas@wiradikusuma.com) Java User Group Indonesia Struts 2 defined An elegant, extensible framework for building enterprise-ready

More information

JVA-117A. Spring-MVC Web Applications

JVA-117A. Spring-MVC Web Applications JVA-117A. Spring-MVC Web Applications Version 4.2 This course enables the experienced Java developer to use the Spring application framework to manage objects in a lightweight, inversion-of-control container,

More information

JavaEE Interview Prep

JavaEE Interview Prep Java Database Connectivity 1. What is a JDBC driver? A JDBC driver is a Java program / Java API which allows the Java application to establish connection with the database and perform the database related

More information

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple

More information

Development of E-Institute Management System Based on Integrated SSH Framework

Development of E-Institute Management System Based on Integrated SSH Framework Development of E-Institute Management System Based on Integrated SSH Framework ABSTRACT The J2EE platform is a multi-tiered framework that provides system level services to facilitate application development.

More information

Shale and the Java Persistence Architecture. Craig McClanahan Gary Van Matre. ApacheCon US 2006 Austin, TX

Shale and the Java Persistence Architecture. Craig McClanahan Gary Van Matre. ApacheCon US 2006 Austin, TX Shale and the Java Persistence Architecture Craig McClanahan Gary Van Matre ApacheCon US 2006 Austin, TX 1 Agenda The Apache Shale Framework Java Persistence Architecture Design Patterns for Combining

More information

Java EE 6: Develop Web Applications with JSF

Java EE 6: Develop Web Applications with JSF Oracle University Contact Us: +966 1 1 2739 894 Java EE 6: Develop Web Applications with JSF Duration: 4 Days What you will learn JavaServer Faces technology, the server-side component framework designed

More information

Seam & Web Beans. Pete Muir JBoss, a division of Red Hat.

Seam & Web Beans. Pete Muir JBoss, a division of Red Hat. Seam & Web Beans Pete Muir JBoss, a division of Red Hat http://in.relation.to/bloggers/pete pete.muir@jboss.org 1 Road Map Background Seam Web Beans 2 Advantages of JSF/JPA over Struts/EJB 2 Fewer, finer

More information

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

(800) Toll Free (804) Fax   Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days Course Description This course introduces the Java programming language and how to develop Java applications using Eclipse 3.0. Students learn the syntax of the Java programming language, object-oriented

More information

Remote Health Service System based on Struts2 and Hibernate

Remote Health Service System based on Struts2 and Hibernate St. Cloud State University therepository at St. Cloud State Culminating Projects in Computer Science and Information Technology Department of Computer Science and Information Technology 5-2017 Remote Health

More information

SPRING MOCK TEST SPRING MOCK TEST I

SPRING MOCK TEST SPRING MOCK TEST I http://www.tutorialspoint.com SPRING MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Spring Framework. You can download these sample mock tests at

More information

TDDD05: Application frameworks

TDDD05: Application frameworks TDDD05: Application frameworks Ola Leifler, IDA, Linköpings universitet Component frameworks A component framework is a software entity that supports components conforming to certain standards and allows

More information

COURSE 9 DESIGN PATTERNS

COURSE 9 DESIGN PATTERNS COURSE 9 DESIGN PATTERNS CONTENT Applications split on levels J2EE Design Patterns APPLICATION SERVERS In the 90 s, systems should be client-server Today, enterprise applications use the multi-tier model

More information

Chapter 1 Introducing EJB 1. What is Java EE Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7

Chapter 1 Introducing EJB 1. What is Java EE Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7 CONTENTS Chapter 1 Introducing EJB 1 What is Java EE 5...2 Java EE 5 Components... 2 Java EE 5 Clients... 4 Java EE 5 Containers...4 Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features

More information

JAVA SYLLABUS FOR 6 MONTHS

JAVA SYLLABUS FOR 6 MONTHS JAVA SYLLABUS FOR 6 MONTHS Java 6-Months INTRODUCTION TO JAVA Features of Java Java Virtual Machine Comparison of C, C++, and Java Java Versions and its domain areas Life cycle of Java program Writing

More information

Wiring Your Web Application with Open Source Java

Wiring Your Web Application with Open Source Java 1 of 13 5/16/2006 3:39 PM Published on ONJava.com (http://www.onjava.com/) http://www.onjava.com/pub/a/onjava/2004/04/07/wiringwebapps.html See this if you're having trouble printing code examples Wiring

More information

STRUTS2 - INTERVIEW QUESTIONS

STRUTS2 - INTERVIEW QUESTIONS STRUTS2 - INTERVIEW QUESTIONS http://www.tutorialspoint.com/struts_2/struts_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Struts2 Interview Questions have been designed especially

More information

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline Object-Oriented Programming (OOP) concepts Introduction Abstraction Encapsulation Inheritance Polymorphism Getting started with

More information

Building Web Applications With The Struts Framework

Building Web Applications With The Struts Framework Building Web Applications With The Struts Framework ApacheCon 2003 Session TU23 11/18 17:00-18:00 Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Slides: http://www.apache.org/~craigmcc/

More information

Introduction to JSP and Servlets Training 5-days

Introduction to JSP and Servlets Training 5-days QWERTYUIOP{ Introduction to JSP and Servlets Training 5-days Introduction to JSP and Servlets training course develops skills in JavaServer Pages, or JSP, which is the standard means of authoring dynamic

More information

Compaq Interview Questions And Answers

Compaq Interview Questions And Answers Part A: Q1. What are the difference between java and C++? Java adopts byte code whereas C++ does not C++ supports destructor whereas java does not support. Multiple inheritance possible in C++ but not

More information

JVA-563. Developing RESTful Services in Java

JVA-563. Developing RESTful Services in Java JVA-563. Developing RESTful Services in Java Version 2.0.1 This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We develop

More information

Enterprise AOP With the Spring Framework

Enterprise AOP With the Spring Framework Enterprise AOP With the Spring Framework Jürgen Höller VP & Distinguished Engineer, Interface21 Agenda Spring Core Container Spring AOP Framework AOP in Spring 2.0 Example: Transaction Advice What's Coming

More information

Chapter 5 Object-Oriented Programming

Chapter 5 Object-Oriented Programming Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares

More information

Introduction to Spring Framework: Hibernate, Spring MVC & REST

Introduction to Spring Framework: Hibernate, Spring MVC & REST Introduction to Spring Framework: Hibernate, Spring MVC & REST Training domain: Software Engineering Number of modules: 1 Duration of the training: 36 hours Sofia, 2017 Copyright 2003-2017 IPT Intellectual

More information

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject

More information

Java J Course Outline

Java J Course Outline JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The

More information

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline Advanced Java Database Programming JDBC overview SQL- Structured Query Language JDBC Programming Concepts Query Execution Scrollable

More information

Struts. P. O. Box Austin, TX Fax: +1 (801) (877) 866-JAVA

Struts. P. O. Box Austin, TX Fax: +1 (801) (877) 866-JAVA Struts P. O. Box 80049 Austin, TX 78708 Fax: +1 (801) 383-6152 information@middleware-company.com +1 (877) 866-JAVA Copyright 2002 Agenda In this presentation we will discuss: Struts Overview Where to

More information

Fast Track to Spring 3 and Spring MVC / Web Flow

Fast Track to Spring 3 and Spring MVC / Web Flow Duration: 5 days Fast Track to Spring 3 and Spring MVC / Web Flow Description Spring is a lightweight Java framework for building enterprise applications. Its Core module allows you to manage the lifecycle

More information

Oracle Fusion Middleware 12c

Oracle Fusion Middleware 12c Oracle Fusion Middleware 12c Cloud Application Foundation Coherence 12.1.2 Coherence 12.1.2 Configuration Enhancements (or Building Your Own Services) Brian Oliver Senior Consulting

More information

Welcome To PhillyJUG. 6:30-7:00 pm - Network, eat, find a seat 7:00-7:15 pm - Brief announcements 7:15-8:30 pm - Tom Janofsky's presentation

Welcome To PhillyJUG. 6:30-7:00 pm - Network, eat, find a seat 7:00-7:15 pm - Brief announcements 7:15-8:30 pm - Tom Janofsky's presentation Welcome To PhillyJUG 6:30-7:00 pm - Network, eat, find a seat 7:00-7:15 pm - Brief announcements 7:15-8:30 pm - Tom Janofsky's presentation Web Development With The Struts API Tom Janofsky Outline Background

More information

Seam. Pete Muir JBoss, a Division of Red Hat.

Seam. Pete Muir JBoss, a Division of Red Hat. Seam Pete Muir JBoss, a Division of Red Hat http://in.relation.to/bloggers/pete pete.muir@jboss.org 1 Road Map Background Seam Future 2 Advantages of JSF/JPA over Struts/EJB 2 Fewer, finer grained artifacts

More information

Spring framework was initially written by Rod Johnson and was first released under the Apache 2.0 license in June 2003.

Spring framework was initially written by Rod Johnson and was first released under the Apache 2.0 license in June 2003. About the Tutorial Spring framework is an open source Java platform that provides comprehensive infrastructure support for developing robust Java applications very easily and very rapidly. Spring framework

More information

This course is intended for Java programmers who wish to write programs using many of the advanced Java features.

This course is intended for Java programmers who wish to write programs using many of the advanced Java features. COURSE DESCRIPTION: Advanced Java is a comprehensive study of many advanced Java topics. These include assertions, collection classes, searching and sorting, regular expressions, logging, bit manipulation,

More information

WA1278 Introduction to Java Using Eclipse

WA1278 Introduction to Java Using Eclipse Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA1278 Introduction to Java Using Eclipse This course introduces the Java

More information

JVA-163. Enterprise JavaBeans

JVA-163. Enterprise JavaBeans JVA-163. Enterprise JavaBeans Version 3.0.2 This course gives the experienced Java developer a thorough grounding in Enterprise JavaBeans -- the Java EE standard for scalable, secure, and transactional

More information

Enterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009

Enterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009 Enterprise Java Development using JPA, Hibernate and Spring Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009 About the Speaker Enterprise Architect Writer, Speaker, Editor (InfoQ)

More information

Oracle Forms Modernization Through Automated Migration. A Technical Overview

Oracle Forms Modernization Through Automated Migration. A Technical Overview Oracle Forms Modernization Through Automated Migration A Technical Overview Table of Contents Document Overview... 3 Oracle Forms Modernization... 3 Benefits of Using an Automated Conversion Tool... 3

More information

Java Advance Frameworks

Java Advance Frameworks Software Development & Education Center Java Advance Frameworks (Struts Hibernate Spring) STRUTS 2.0 Apache Struts is an open-source framework for creating Java web applications that use the MVC design

More information

Advanced Action Classes

Advanced Action Classes CH05 8/21/03 8:22 AM Page 91 5 Advanced Action Classes In this chapter, we dig further into the Controller components of the Struts framework by covering the built-in Action classes that come with Struts.

More information

Spring Web Flow: Enabling High Level, Low Effort Web Conversations

Spring Web Flow: Enabling High Level, Low Effort Web Conversations Spring Web Flow: Enabling High Level, Low Effort Web Conversations Colin Sampaleanu Interface21 About Me Spring Framework core developer since mid-2003 Founder and Principal Consultant at Interface21,

More information

Jakarta Struts: Declarative Exception Handling

Jakarta Struts: Declarative Exception Handling Jakarta Struts: Declarative Exception Handling Struts 1.2 Version Core Servlets & JSP book: More Servlets & JSP book: www.moreservlets.com Servlet, JSP, Struts, JSF, and Java Training Courses: courses.coreservlets.com

More information

Metadata driven component development. using Beanlet

Metadata driven component development. using Beanlet Metadata driven component development using Beanlet What is metadata driven component development? It s all about POJOs and IoC Use Plain Old Java Objects to focus on business logic, and business logic

More information

CSC309: Introduction to Web Programming. Lecture 11

CSC309: Introduction to Web Programming. Lecture 11 CSC309: Introduction to Web Programming Lecture 11 Wael Aboulsaadat Servlets+JSP Model 2 Architecture 2 Servlets+JSP Model 2 Architecture = MVC Design Pattern 3 Servlets+JSP Model 2 Architecture Controller

More information

Sitesbay.com. A Perfect Place for All Tutorials Resources. Java Projects C C++ DS Interview Questions JavaScript

Sitesbay.com.  A Perfect Place for All Tutorials Resources. Java Projects C C++ DS Interview Questions JavaScript Sitesbay.com A Perfect Place for All Tutorials Resources Java Projects C C++ DS Interview Questions JavaScript Core Java Servlet JSP JDBC Struts Hibernate Spring Java Projects C C++ DS Interview Questions

More information

Web Programming. Lecture 11. University of Toronto

Web Programming. Lecture 11. University of Toronto CSC309: Introduction to Web Programming Lecture 11 Wael Aboulsaadat University of Toronto Servlets+JSP Model 2 Architecture University of Toronto 2 Servlets+JSP Model 2 Architecture = MVC Design Pattern

More information

JDBC [Java DataBase Connectivity]

JDBC [Java DataBase Connectivity] JDBC [Java DataBase Connectivity] Introduction Almost all the web applications need to work with the data stored in the databases. JDBC is Java specification that allows the Java programs to access the

More information

Improve and Expand JavaServer Faces Technology with JBoss Seam

Improve and Expand JavaServer Faces Technology with JBoss Seam Improve and Expand JavaServer Faces Technology with JBoss Seam Michael Yuan Kito D. Mann Product Manager, Red Hat Author, JSF in Action http://www.michaelyuan.com/seam/ Principal Consultant Virtua, Inc.

More information

JVA-117E. Developing RESTful Services with Spring

JVA-117E. Developing RESTful Services with Spring JVA-117E. Developing RESTful Services with Spring Version 4.1 This course enables the experienced Java developer to use the Spring MVC framework to create RESTful web services. We begin by developing fluency

More information

Outline. Purpose. Useful Definitions. Pattern Overview

Outline. Purpose. Useful Definitions. Pattern Overview Design Patterns Outline Purpose Useful Definitions Pattern Overview Purpose To provide programmers with already documented solutions to common problems. Gives the programmers a common language. COMPOSITION?

More information

JBossCache: an In-Memory Replicated Transactional Cache

JBossCache: an In-Memory Replicated Transactional Cache JBossCache: an In-Memory Replicated Transactional Cache Bela Ban (bela@jboss.org) - Lead JGroups / JBossCache Ben Wang (bwang@jboss.org) - Lead JBossCacheAOP JBoss Inc http://www.jboss.org 09/22/04 1 Goal

More information

Java EE 7: Back-End Server Application Development

Java EE 7: Back-End Server Application Development Oracle University Contact Us: Local: 0845 777 7 711 Intl: +44 845 777 7 711 Java EE 7: Back-End Server Application Development Duration: 5 Days What you will learn The Java EE 7: Back-End Server Application

More information

Index. Combined lifecycle strategy, annotation, 93 ContentNegotiatingViewResolver, 78

Index. Combined lifecycle strategy, annotation, 93 ContentNegotiatingViewResolver, 78 Index A Action phase, 154 AJAX (asynchronous JavaScript and XML), 229 communication flow, 230 components, 156 custom tags, 250 functions, 229 GET and POST requests, 233 jquery, 233, 236 AJAX calls, 243

More information

Oracle Fusion Middleware 11g: Build Applications with ADF I

Oracle Fusion Middleware 11g: Build Applications with ADF I Oracle University Contact Us: +966 1 1 2739 894 Oracle Fusion Middleware 11g: Build Applications with ADF I Duration: 5 Days What you will learn This course is aimed at developers who want to build Java

More information

ADVANCED JAVA COURSE CURRICULUM

ADVANCED JAVA COURSE CURRICULUM ADVANCED JAVA COURSE CURRICULUM Index of Advanced Java Course Content : 1. Basics of Servlet 2. ServletRequest 3. Servlet Collaboration 4. ServletConfig 5. ServletContext 6. Attribute 7. Session Tracking

More information

Oracle Developer Day

Oracle Developer Day Oracle Developer Day Sponsored by: J2EE Track: Session #3 Developing JavaServer Faces Applications Name Title Agenda Introduction to JavaServer Faces What is JavaServer Faces Goals Architecture Request

More information

Java Object Oriented Design. CSC207 Fall 2014

Java Object Oriented Design. CSC207 Fall 2014 Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code

More information

Tapestry. Code less, deliver more. Rayland Jeans

Tapestry. Code less, deliver more. Rayland Jeans Tapestry Code less, deliver more. Rayland Jeans What is Apache Tapestry? Apache Tapestry is an open-source framework designed to create scalable web applications in Java. Tapestry allows developers to

More information

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introducing Object Oriented Programming... 2 Explaining OOP concepts... 2 Objects...3

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

com Spring + Spring-MVC + Spring-Boot + Design Pattern + XML + JMS Hibernate + Struts + Web Services = 8000/-

com Spring + Spring-MVC + Spring-Boot + Design Pattern + XML + JMS Hibernate + Struts + Web Services = 8000/- www.javabykiran. com 8888809416 8888558802 Spring + Spring-MVC + Spring-Boot + Design Pattern + XML + JMS Hibernate + Struts + Web Services = 8000/- Java by Kiran J2EE SYLLABUS Servlet JSP XML Servlet

More information

LTBP INDUSTRIAL TRAINING INSTITUTE

LTBP INDUSTRIAL TRAINING INSTITUTE Java SE Introduction to Java JDK JRE Discussion of Java features and OOPS Concepts Installation of Netbeans IDE Datatypes primitive data types non-primitive data types Variable declaration Operators Control

More information

1 Shyam sir JAVA Notes

1 Shyam sir JAVA Notes 1 Shyam sir JAVA Notes 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write

More information

JAVA. Duration: 2 Months

JAVA. Duration: 2 Months JAVA Introduction to JAVA History of Java Working of Java Features of Java Download and install JDK JDK tools- javac, java, appletviewer Set path and how to run Java Program in Command Prompt JVM Byte

More information

What s new in Spring Web Flow 2.0

What s new in Spring Web Flow 2.0 What s new in Spring Web Flow 2.0 Agim Emruli SpringSource Germany Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited. About me Senior Consultant

More information

Introduction to Spring Framework: Hibernate, Web MVC & REST

Introduction to Spring Framework: Hibernate, Web MVC & REST Introduction to Spring Framework: Hibernate, Web MVC & REST Course domain: Software Engineering Number of modules: 1 Duration of the course: 50 hours Sofia, 2017 Copyright 2003-2017 IPT Intellectual Products

More information

Module 3 Web Component

Module 3 Web Component Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session

More information

V3 EJB Test One Pager

V3 EJB Test One Pager V3 EJB Test One Pager Overview 1. Introduction 2. EJB Testing Scenarios 2.1 EJB Lite Features 2.2 API only in Full EJB3.1 3. Document Review 4. Reference documents 1. Introduction This document describes

More information

The C# Programming Language. Overview

The C# Programming Language. Overview The C# Programming Language Overview Microsoft's.NET Framework presents developers with unprecedented opportunities. From web applications to desktop and mobile platform applications - all can be built

More information

INHERITANCE WITH JAVA INTERFACES

INHERITANCE WITH JAVA INTERFACES MODULE 6 INHERITANCE WITH JAVA INTERFACES Objectives > After completing this lesson, you should be able to do the following: Model business problems by using interfaces Define a Java interface Choose between

More information

Struts Lab 3: Creating the View

Struts Lab 3: Creating the View Struts Lab 3: Creating the View In this lab, you will create a Web application that lets a company's fleet manager track fuel purchases for the company's vehicles. You will concentrate on creating the

More information

CSE 510 Web Data Engineering

CSE 510 Web Data Engineering CSE 510 Web Data Engineering The Struts 2 Framework UB CSE 510 Web Data Engineering What s The Difference? A new framework that implements the MVC It is said to be simpler for development Features: Action:

More information

An Introduction to Patterns

An Introduction to Patterns An Introduction to Patterns Robert B. France Colorado State University Robert B. France 1 What is a Pattern? - 1 Work on software development patterns stemmed from work on patterns from building architecture

More information

Web Applications. and. Struts 2

Web Applications. and. Struts 2 Web Applications and Struts 2 Problem area Why use web frameworks? Separation of application logic and markup Easier to change and maintain Easier to re-use Less error prone Access to functionality to

More information

/ / JAVA TRAINING

/ / JAVA TRAINING www.tekclasses.com +91-8970005497/+91-7411642061 info@tekclasses.com / contact@tekclasses.com JAVA TRAINING If you are looking for JAVA Training, then Tek Classes is the right place to get the knowledge.

More information

CORE JAVA. Saying Hello to Java: A primer on Java Programming language

CORE JAVA. Saying Hello to Java: A primer on Java Programming language CORE JAVA Saying Hello to Java: A primer on Java Programming language Intro to Java & its features Why Java very famous? Types of applications that can be developed using Java Writing my first Java program

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

Mastering Spring MVC 3

Mastering Spring MVC 3 Mastering Spring MVC 3 And its @Controller programming model Get the code for the demos in this presentation at http://src.springsource.org/svn/spring-samples/mvc-showcase 2010 SpringSource, A division

More information

Table of Contents. Introduction... xxi

Table of Contents. Introduction... xxi Introduction... xxi Chapter 1: Getting Started with Web Applications in Java... 1 Introduction to Web Applications... 2 Benefits of Web Applications... 5 Technologies used in Web Applications... 5 Describing

More information

Service-Oriented Architecture (SOA)

Service-Oriented Architecture (SOA) Service-Oriented Architecture (SOA) SOA is a software architecture in which reusable services are deployed into application servers and then consumed by clients in different applications or business processes.

More information

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format. J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using

More information

Patterns Of Enterprise Application Architecture

Patterns Of Enterprise Application Architecture Patterns Of Enterprise Application Architecture Lecture 11-12 - Outlines Overview of patterns Web Presentation Patterns Base Patterns Putting It All Together References Domain Logic Patterns Domain Model

More information

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming Overview of OOP Object Oriented Programming is a programming method that combines: a) Data b) Instructions for processing that data into a self-sufficient object that can be used within a program or in

More information

VALLIAMMAI ENGINEERING COLLEGE

VALLIAMMAI ENGINEERING COLLEGE VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 0 0 DEPARTMENT OF COMPUTERAPPLICATIONS QUESTION BANK V SEMESTER MC70- Web Application Development Regulation 0 Academic Year 07 8 Prepared by Mr.M.AsanNainar,

More information