Overview
The JSP and Servlets training course teaches beginning and early intermediate Java developers how to build database-driven Web applications using JavaServer Pages and Java Servlets.
Objectives
At the end of JSP Training course, participants will be able to:
- Design and build robust and maintainable web applications
- Create dynamic HTML content with Servlets and JavaServer Pages, using the JSP Standard Tag Library (JSTL)
- Make Servlets and JSP work together cleanly
- Use JSTL and other Custom Tag Libraries to separate Java and HTML code
- Access databases with JDBC
- Use Enterprise JavaBeans effectively from Servlets and JSP
Audience - Architects, Designers, Consultants & Developers.
Duration - 5 Days
Prerequisites - All participants should be fluent in HTML and have a prior knowledge of object-oriented or object-based programming, as well as some knowledge of SQL and relational databases.
Syllabus
1. Java EE Introduction
- Java EE Overview
- Java EE Technologies
- Java EE Architecture
- MVC
|
2. Servlets and JSP with the JSP Standard Tag Library (JSTL)
- Web Application Basics
- How the Web works, Thin Clients, TCP/IP
- HTTP overview, Brief HTML review
- Overview of Java EE, servlets & Web applications
- Servlet Basics
- Servlet API
- HTML Forms
- HTTP: Request-response, headers, GET, POST
- Overview: How Servlets Work
- Servlet Lifecycle: init(), service(), destroy()
- Requests and responses
- Core Servlet API: GenericServlet, ServletRequest, and ServletResponse
- HTTP Servlets: HttpServletRequest, HttpServletResponse and HttpServlet
- Accessing Parameters
- Additional Servlet Capabilities
- HTTP headers and MIME types
- RequestDispatcher: Including and forwarding
- Sharing data with the request object attributes
- Sharing data with ServletContext attributes
- Error Handling
- JavaServer Pages
- Basics and Overview
- JSP architecture
- JSP tags and JSP expressions
- Fixed Template Data
- Lifecycle of a JSP
- Model View Controller (MVC)
- Model 1/Model 2 Architecture
- Data Sharing among servlets & JSP
- Object scopes or "buckets"
- Request, application, session and page scope
- Predefined JSP implicit objects (request, session, application, page)
- <jsp:useBean>
- <jsp:getProperty>, <jsp:setProperty>
- <jsp:include>, <jsp:forward>
- Using Custom Tags
- Custom tags overview
- Reducing JSP complexity
- Tag Libraries
- Tag Library Descriptor (TLD)
- Loading a tag library in a web app
- The JSTL
- JSP Expression Language (EL)
- Using custom tags
- The c:url, c:param, c:forEach, c:out tags
- More JSP Capabilities and Session Management
- HTTP as a stateless protocol
- Hidden form fields
- Cookies: Overview, API, Using cookies
- Session overview: Cookies and session tracking
- HttpSession
- Putting data into a session object
- Retrieving data from a session object
- Using session data in servlets and JSPs
- Additional JSP Capabilities
- Exception handling and error pages
- Directives (page, include, others)
- Import declarations
- Multithreading considerations and data safety
- SingleThreadModel interface
- Additional JSP Capabilities
- JSP Directives
- JSP Error Pages
- JSP and Java
- Declarations, Scriptlet overview, Scriptlet syntax
- More JSTL
- Overview of JSTL libraries
- The JSTL Expression Language
- Expressions, Type Coercion, Operators, String concatenation, Implicit Objects
- The Core JSTL Library
- General Purpose: c:out, c:set, c:catch
- Conditional: c:if, c:choose
- Overview of other capabilities
- Additional Topics
- Servlet Filter overview
- Filtering examples, lifecycle, & filter chains
- Filter API, Modifying a request, Modifying a response
- Struts Overview
- Advanced MVC – Struts overview
- Command and State patterns
- Struts View and Controller elements
|
3. JDBC
- Introduction
- Relational Database and JDBC Overview
- Overview, Table Relationships, Web Based Data Access, JDBC Characteristics
- JDBC Architecture, JDBC API Overview
- DriverManager, JDBC Drivers
- Naming databases with JDBC URLs
- Connecting to a database
- Connection interface, Establishing a connection
- DataBaseMetaData
- Handling Database Exceptions
- Data Access
- DAO – Data Access Objects, O-R Mapping, Value Objects
- Processing Database Data
- Executing statements, precompiled statements and stored procedures
- Processing ResultSets
- Dealing with Null data
- Updating, inserting, retrieving data
- Controlling Transactions
- JDBC Driver Types
- DataSource
- Java EE and DataSource, Using JNDI
- Connection Pooling
- Overview, Usage, Advantages
- Advanced Topics
- Other Database Access Technologies
- SQLJ, O-R Mapping Tools, JDO (Java Data Objects), EJB Entity Beans
- Advanced JDBC Features
- Batch Updates, Scrollable Result Sets, Rowsets, User Defined Types, BLOBS, CLOBS
|
4. Component Integration and EJB
- Database Integration
- Web Architecture choices
- Connecting servlets to a database via DataSource
- EJB
- Overview of EJB
- High-level EJB architecture
- Roles within EJB
- Client view of a session bean
- JNDI (Java Naming and Directory Interface)
- Remote and Home Interfaces
- Writing an EJB client
- Other Technologies
- XML and Web Services
- JMS – Java Message Service
- Labs
- Accessing a database from a servlet
- Accessing an EJB from a servlet
|