The goal of this lab is to prepare students to improve their programming skills and expertise to develop enterprise level applications. After attending this lab, the students should be able to understand the J2EE programming techniques and program enterprise level application and have the knowledge of how to develop distributed applications also what are the benefits of open source platforms.


CLO: 1. J2EE Overview and architecture, Servlet JSP architecture and introduction to all other Server-side components. (Level: C1)
CLO: 2. Understand JSP MVC architecture, introduction to component based JSF (Java Server Faces) Framework and front-end development. (Level: C2)
CLO: 3. Understanding Hibernating (Persistence API) and using IntellJ Idea, Postgresql Server and Jboss Application Server to develop enterprise and distributed application. (Level: C3)


1. ACP Revision: Inheritance, Classes and Interfaces, Polymorphism, Exception Handling, JDBC etc.
2. Environment Setup: Setting up to use IntelliJ Idea and Tomcat Server, HTML Tags, CSS, JavaScript, Installing PostgreSql
3. Servlets: Servlets Architecture, Servlets Packages, Servlet Mapping, HttpServlet class
4. Servlets: Servlet Filters, Usage of Filter, Advantage of Filter, Servlet Filter interface, Simple Example of Filter
5. JSP: Introduction to JSP, Why JSP is preferred over servlets? JSP Scripting Element, Five different types of scripting elements, JSP Comment
6. JSP: What is Java Bean? JSP Custom Tags, JSTL (JSP Standard Tag Library)
7. JSF: What is JSF? JSF Architecture, JSF Life Cycle, JSF Component Types, what is MVC Design Pattern? Managed Bean
8. JSF: Difference between Managed Beans and Backing Beans, JDBC Requirements
9. JSF: DataTables, Operations
10. Hibernate: Drawbacks of JDBC, what is Hibernate? Hibernate Architecture, Elements of Hibernate Architecture, Hibernate Advantages
11. Hibernate: Many to One Association, One to One Association, One to Many Association
12. Spring Framework: Why Spring Boot? Advantages of Spring Boot