java advance frameworks - multisoft systems€¦ · partial java ee. the spring framework 3.0...
TRANSCRIPT
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Software Development & Education Center
Java Advance Frameworks
(Struts | Hibernate |Spring)
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
STRUTS 2.0
Apache Struts is an open-source framework for creating Java web applications that use the
MVC design pattern. The Struts framework is particularly useful for larger web applications.
Although the Struts framework was popular early in the history of the Java language it has
gradually been replaced in popularity with other Java web frameworks, particularly Java
Server Faces, or JSF. For those looking to write Java web applications that will be deployed to
more recent Java EE application servers training in JSF may be greatly beneficial.
This course introduces the students to Struts. During the course, students will learn to design
and develop Struts based applications. Students learn how to incorporate JSPs, servlets, EJBs
and JavaBeans into their design. Corresponding to every chapter, there is a lab reinforcing the
concept.
Objectives
Understand and explain the Struts framework
Design and build Struts based applications
Audience
This course is intended for programmers and designers who want to design and develop
applications using the Struts Model-View-Controller (MVC) framework.
Prerequisites
A good understanding of HTML.
A good understanding of object-oriented programming using Java.
Experience with JSPs and servlets with some understanding of JavaBeans or EJBs.
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Detailed Curriculum
Struts Architecture and Overview
Introduction to Struts
Objectives
Review: MVC model
What is Struts?
Struts flow
Components in Struts?
The Model
The View
The Controller
struts-config.xml
The <data-sources> element
The <form-beans> element
The <global-forwards> element
The <action-mappings> element
Sample
The role of web.xml for the application
Configuring Struts in web.xml
web.xml content
Steps to configuring Struts in web.xml
Sample
Summary
A Simple Struts Application
The Goal of the Application
The input form· The struts-config.xml
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
The Form Bean class
The Action class
The result page
Struts features in Eclipse
Objectives
Struts binary distribution
Directory structure of Struts application
Example
Eclipse support for Struts
Developing a web application using Eclipse features of Struts
Struts Development Cycle
Objectives
Struts development cycle
Gathering requirements
Defining screen requirements
Data vs. FormBean
define FormBean
Determining the screen flow
Defining the ActionMappings in struts-config.xml
Developing the FormBean
The reset ( ) method
Form validation using the validate ( ) method
ActionError
Define message key
Developing Action Class
Action and Action Class
The execute() method
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
ActionForward
ActionMapping class
execute() example
Example execute() method
Developing business logic - EJB
Developing JSPs
Configuring struts-config.xml and web.xml
Build, pack and deploy
Struts Tag Libraries
Objectives
JSP taglib directive
Components of a tag library
The JSP File
The tag library descriptor
The tag Handler Class
An example
The TLD File - carPrice.tld
TDL File - example
The Handler Class - CarPriceHandler.java
The Handler Class - example
The JSP File - Carprice.jsp
Tag Lib Handler life cycle
Directory structure: where custom tag libraries fit
Struts TagLib
Bean tags
bean:message
bean:define
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
bean:page
bean:include
bean:cookie
HTML tags
html:form
html:submit
html:text
html:link
html:password
Logic tags
Functionality
logic:equal
logic:iterate
Template tags
Struts Plugin, Internationalization and Error Handling
Objectives
Struts plugins
Creating a plugin
Configuring a plugin
Internationalization
Struts Internationalization Mechanisms
Adding internationalization to the example application
Formatting messages
Error Handling
Struts Error Handling Mechanisms
ActionError and ActionErrors
Error handling from a form bean
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Error handling from an action
Formatting error messages
Struts exception handling
Adding error handling to the example application
Miscellaneous Advanced Features
Objectives
HTTP Redirection
Dealing with check boxes
Context sensitive form validation
DispatchAction
BeanUtils package
Digester package
DynaActionForms
Multi-application support
Validators
Database Programming
Configuring and using a Struts Data Source
Using a J2EE Data Source
Transaction management from an action
Sharing a connection with the model classes
Pre-populating a form for editing data
Paginated listing of large amounts of data
Templates, Tiles and JSTL
Objectives
Struts Templates
Template tags - insert, get and put
Struts 1.1 tiles support
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Inheritance in tiles definitions
JSTL overview
JSTL and Struts
Unit Testing Struts Applications – Struts Test Case
Objectives
What is JUnit?
A sample JUnit test case
A simple StrutsTest test case
Executing a StrutsTest test
Testing strategies
JSTL
Objectives
The future of Struts Tags
JSTL - What does it provide?
JSTL actions
Core JSTL tags
Formatting tags
Database tags
XML tags
JSTL Expression Language
JSTL Implicit Objects
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Hibernate 3.0/4.0
You Will Learn How To:
Implement object persistence with Hibernate
Map objects to databases using XML and annotations
Optimize data access with Hibernate Query Language (HQL)
Course Benefits
Moving data back and forth from a database system and the object model of a Java application
is harder than it seems to be. In this course, Java developers learn how to quickly build
enterprise Java applications using the industry-standard Hibernate framework. Through
intensive hands-on exercises, you learn how to bridge the gap between object-oriented
domain models and relational database systems.
Who Should Attend
Architects, programmers, engineers, managers and those involved in the development of
complex enterprise-level Java applications. Knowledge of Java at the level of Java
Programming, plus real-world Java programming experience, is assumed.
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Detailed Curriculum
Introduction
What is Hibernate?
Object Relational Mapping
JDBC v/s Hibernate
Installing Hibernate
Using Hibernate with an IDE
Getting Started
POJOs and Persistence
Creating Hibernate Mappings
Configuration
Session Factory
Session
Working with Entities
Transactions
Queries
Tying Everything Together
Mapping with Annotations
Introduction to Annotations
Annotation Pros and Cons
Using Annotations in Your Application
Mapping Entities and Tables
Mapping Columns and Data Types
Mapping Associations
Mapping Collections
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Mapping with XML
Mapping Entities and Tables
Mapping Columns and Data Types
Mapping Associations
Mapping Collections
Working with Persistent Objects
Object states in Hibernate
Common Hibernate Methods
Working with Entities
Working with Bidirectional Associations
Flushing the Session
Cascading Operations
Orphans
Lazy Associations
Querying with HQL
The Hibernate Query Language
Retrieving Data
Using Operators
Sorting Results
Using Aggregate Functions
Grouping Results
Using Joins
Using Parameters
Transactions
Hibernate and Thread-Safety
Introducing the Hibernate Util Class
Committing and Rolling Back Transactions
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
SPRING
The Spring Framework is a lightweight solution and a potential one-stop-shop for building
your enterprise-ready applications. However, Spring is modular, allowing you to use only
those parts that you need, without having to bring in the rest. Spring enables you to build
applications from "plain old Java objects" (POJOs) and to apply enterprise services non-
invasively to POJOs. This capability applies to the Java SE programming model and to full and
partial Java EE. The Spring Framework 3.0 provides an option for configuration through
annotations instead of XML and support for some of the latest Java EE 6 features.
OBJECTIVES
Upon completion of this course, you should be able to:
Understand the need for the Spring framework
Integrate Spring with the JPA ORM framework
Use the Spring MVC web framework to develop
flexible web applications
Use Spring Web Flow to create conversational web
applications
Integrate Spring with JSF applications
Use AJAX with Spring
AUDIENCE
Software designers, developers and programmers.
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Detailed Curriculum
ENTITIES AND JAVA PERSISTENCE API
Data Persistence
Java Persistence API
Entities
Session Beans v/s Entities
Entities
Persisting and Retrieving Data
Accessing Entities
Entity Manager & Persistence Unit
Persistence Context
Entities - Example
persistence.xml – Hibernate Provider
persistence.xml – Open JPA Provider
persistence.xml - Toplink
Entity Instance Lifecycle
Creating Entity Manager in Session EJB
Creating Entity Manager in a Plain Java Class
Working With the Entity Manager Interface
Transaction Basics
Summary
USING SPRING WITH JPA OR HIBERNATE
Spring ORM
Benefits of Using Spring with ORM
Spring @Repository
Using JPA with Spring
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Configure Spring JPA Entity Manager Factory
Using JNDI to Lookup JPA Entity Manager Factory
Local Container Entity Manager Factory Bean
Local Entity Manager Factory Bean
Application JPA Code
Hibernate
Hibernate Session Factory
Spring Local Session Factory Bean
Application Hibernate Code
"Classic" Spring ORM Usage
Spring JpaTemplate
Spring JpaCallback
JpaTemplate Convenience Features
Spring Hibernate Template
Spring Hibernate Callback
Hibernate Template Convenience Methods
Summary
SPRING MVC
Spring MVC
Spring MVC Components
DispatcherServlet
Context Loaders
Spring MVC Example
Mapping Web Requests
BeanNameUrlHandlerMapping
CommonsPathMapHandlerMapping
Using Multiple Handler Mappings
Controller Hierarchy
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
AbstractCommandController
SimpleFormController
AbstractWizardFormController
MultiActionController
ThrowawayController
View Resolution
InternalResourceViewResolver
BeanNameViewResolver
XmlViewResolver
ResourceBundleViewResolver
Using Multiple View Resolvers
Binding Views to Models
Spring Form Tags
form and input Tags
password and hidden Tags
checkbox Tag
radiobutton Tag
textarea Tag
select Tag
option Tag
options Tag
errors Tag
TILES WEB APPLICATION TEMPLATES
Apache Tiles
Configuring Tiles in Spring
Tiles URL-based View Resolver
Tiles ViewPreparer
Tiles ViewPreparer Configuration
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
ALTERNATE CONTENT WITH SPRING WEB APPS
Creating Excel Spreadsheets
Creating PDF Documents
Creating Other Non-HTML Documents
Summary
INTRODUCTION TO SPRING WEB FLOW 2
What is Spring Web Flow 2?
Relationship to Spring and Spring MVC
Spring Web Flow 2 Modules
Integration Support
What is a Flow?
Book Hotel Flow Example
Book Hotel Flow Definition
Benefits of Spring Web Flow 2
Required Software
Configuration Steps
JAR File Instructions
Configure web.xml
Spring Web Flow Components
Sample Spring Web Flow Configuration File
Summary
DEFINING FLOWS
Recap: What is a Flow?
Recap: Book Hotel Flow Example
Flow Definition Language
Skeletal Flow Definition
States
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
View State
Transitions
Generating Events
Generating Events using Submit Button
Generating Events using Links
End States
Actions
When do Actions Occur?
Putting it all Together
Introduction to Unified Expression Language
Unified Expression Language Functionality
Unified Expression Language Implicit Variables
Flow Instances
Flow Variables
Variable Scopes
Assigning and Accessing Variables
Flow Input
Binding a View to a Model
Summary
USING JSF WITH SPRING
JSF Integration Options
DelegatingVariableResolver
SpringBeanVariableResolver
SpringBeanFacesELResolver
Spring Bean Scopes
FacesContextUtils
JSF with Spring Web Flow
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
SPRING SECURITY
Securing Web Applications with Spring Security 3.0
Spring Security 3.0
Authentication and Authorization
Programmatic v Declarative Security
Getting Spring Security from Maven
Spring Security Configuration
Spring Security Settings in Spring Configuration
Basic Web Security Configuration
Granting Anonymous Access to Pages and Resources
Requiring Encrypted HTTPS Communication
Customizing Form-based Login
Custom Login Page
Configure Logout
Session Management
Selectively Display Links in a JSP
Method Level Security
Authentication Manager
Using Database User Authentication
LDAP Authentication
Encoding Passwords
Using an External Authentication Provider
Summary
INTRODUCTION TO AJAX
What is AJAX?
A Simple Example
The Old Way
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
The AJAX Way
Two Key Aspects of AJAX
What are the Advantages of the AJAX Approach?
AJAX Technologies
The Basic AJAX API
Creating the XMLHttpRequest Object
The XMLHttpRequest Object Basics
Complete Example
The Timeline
Review Questions
Review Answers
USING JAVASCRIPT WITH SPRING
Spring JavaScript
Relationship to Dojo
Serving JavaScript Resources
Including Spring JavaScript
Spring JavaScript Decorations
Dijit ValidationTextBox Decoration
Dijit DateTextBox Decoration
Spring ValidateAllDecoration
Handling Ajax Requests with Spring MVC
Handling Ajax Requests with Spring Web Flow
Summary
SPRING REST SERVICES
Many Flavors of Services
Understanding REST
RESTful Services
REST Resource Examples
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
REST vs SOAP
Relation to Spring MVC
Adding REST Capability to Existing Spring MVC Applications
RestTemplate
HTTP Message Conversion
Summary
REVIEW OF NEW FEATURES IN SPRING 3.0
Requirements and Supported Environments
Using Spring with Servers
Packaging
Spring Expression Language
Java-based Configuration
Annotation-based Configuration
Spring MVC Changes
New Spring MVC Configuration
Spring MVC Annotation Example
Validation
Summary
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Industry Interface Program
Projects
3 Assignments / Mini Projects
1 Web-based Project
1 Major Project
Domains / Industry
Retail Industry
Banking & Finance
Service
E-Commerce
Manufacturing & Production
Web Application Development
Research & Analytics
HR & Consultancy
FMCG
Consumer Electronics
Event Management Industry
Telecom
Networking
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Training & Performance Tracking
Knowledge related to current technology aspects and corporate level deliverable &
Continuous training and assessment to make you industry ready. Throughout the Training
Curriculum Candidate will go through a Scheduled Assessment Process as below:
Continues Assessments
Practical Workshops
Modular Assignments
Case Studies & Analysis
Presentations (Latest Trends & Technologies)
Tech Seminars
Technical Viva
Observing live Models of various projects
Domain Specific Industry Projects
Address: B-125, Sec-2, Noida Web: www.multisoftsystems.com Contact: +91-9810306956 Landline: +91-1202540300/400
Skills Development Workshop
Communication is something which all of us do from the very first day of our life, yet there is a
question that haunts us most of the time “Did I express myself correctly in such and such
situation?” The answer to this question is really tricky, because in some cases we leave our
signatures and good impression but in some others we even fail to get our idea clearly. It
happens mostly because we don’t know how to act in certain situations. Every time we fail we
don’t lose completely, we do learn something, but prior knowledge of the same thing could be
more beneficial because then we could have turned that failure into success.
The course / workshop would focus at many aspects of personality, like:
Building positive relationships with peers & seniors
Building self-confidence & Developing clear communication skills
Exploring and working on factors that help or hinder effective interpersonal
communication
Learning impacts of non-verbal behavior & Dealing with difficult situations and difficult people
Workshops Consists of Following Activities:
Personality Development
Group Discussions & Debates
Seminars & Presentations
Case Studies & Analysis
Corporate Communication Development
HR & Interview Skills
Management Games & Simulations
Aptitude, Logical & Reasoning Assessments & Development