MVC Workshop with Hibernate and JSF
For advanceds students who has already a good experience with Java and Web applications. FJ-26 serves like a complementing to introduce more advanced topics and allows the students reach the necessary productivity to develop a complex web application.
FJ::26 - Workshop of MVC with Hibernate and JSF to Web(40 hours)
Requirements: FJ::21 or : MVC, JSP, basic JSTL, basic Hibernate, basic java 5, dao and factory patterns
IDE and others tools used on course
We will build a complete expenses control web application in only 40 hours, initially using Apache Derby as the database, and then migrating to MySQL.
For java developers that wish to get a more advanced , like Reflection, Generics, Anotations, Design Patterns, MVC, this is the course that will make the difference! For example, the students will develop a single generic DAO that will be used for all our entities, through reflection and generics.
The application to be developed consists in a database access layer with tables, cache, Criteria usage, reports in pdf, 3D charts, validation, inversion of control, a log system and complex forms full of javascript and ajax through JSF components.
Contents
- Apache Derby - EmbeddedDriver, SquirrelSQL
- Hibernate 3.2 - anotations, session, EntityManager, SchemaExport
- Creating our model - Employer, Supplies, Expense
- Important Details - sessions, lazyness, schema
- DAO - generic dao with java 5, others options
- Criteria API - Criterions, Projections, ResultTransformers, Joins, native queries
- HQL - Queries like the Criteria
- Relations - ordered, lazyness, associations tables
- Important Details - Statistics, SchemaUpdate, Connection Pool, Second level cache
- Creating a Web project - Tomcat, Amateras, configurations, MyFaces JSF
- JavaServer Faces - movimentation, components
- Managed Beans
- A little bit of theory - life cycle, component tree
- Business logic
- Navegation - outcomes
- Components
- Validation - Error messages, validators
- Internationalization
- Tomahawk - new components
- completing the view layer of our application - panes, combo box, lists and dataList
- Integration with hibernate - open session in view, ThreadLocal, migrating to MySQL
- Modifing the business logic to use the DAOs
- AJAX - calling our dao by a XML request with javascript
- Charts with JFreeChart
- appendix A: Lucene (optional)
- appendix B: the new frameworks on JBoss Seam and Apache Shale (optional)