Java Web Programming using Eclipse and Tomcat
Students will learn to develop and test server-side web applications based on the Java Platform, Enterprise Edition (Java EE) component model using Eclipse tools. Develop and test server-side applications that use Servlets and JavaServer Pages (JSPs) for the control and flow of e-business applications.
TOPICS
- Develop and test Servlets
- Develop and test JavaServer Pages (JSPs)
- Develop and test Java EE applications following the Model/View/Controller architecture
- Integrate business logic using Java Beans and Java Database Connectivity (JDBC)
- Apply best practices to Servlet and JSP development
OBJECTIVES
After completing this course, the student should be able to:
- Use Eclipse as a truly, integrated development environment
- Build Servlets according to the current Servlet 2.5 specification
- Build JSPs according to the current JSP 2.1 specification
- Build custom JSP tag libraries
- Integrate Servlets and JSPs into a complete Java EE application
- Test Servlets and JSPs using Eclipse
AUDIENCE
Java programmers who build server-side web applications interested in leveraging Eclipse to streamline their development cycle.
PREREQUISITES
You should understand essential concepts of Object-Oriented Programming and be able to write simple Java programs with assistance. Introduction to Java Using Eclipse satisfies this requirement.
Chapter 1 – Java Enterprise Edition (EE) Overview
- Introduction to Java Platform
- Java Community Process (JCP)
- Introduction to Java EE
- Why Move to Java EE
- Java EE – New and Enhanced Features
- Java EE Software Packaging
- Java EE Technologies
- Summary
Chapter 2 – Servlet Basics
- History – CGI
- Server Extension APIs
- Java Servlet
- New In Servlet 2.5
- Servlet Container
- Servlet Responsibilities
- J2EE and Servlet
- The Servlet Class
- The HttpServlet Class
- An Example – Hello World
- The Servlet Container
- The Servlet API
- Life Cycle – Initialization
- Example Initialization
- Life Cycle – Processing
- Life Cycle – Destroy
- User Input
- Example – User Input
- Output to Client
- Servlet Error Handling
- Threading Issues
Chapter 3 – Servlet Interaction Interface
- Request
- Request Parameters
- Request Attributes
- Request Headers
- Request Path
- Other Request Information
- Response
- Cookies
- Components of a Cookie
- Issuing Cookies
- Retrieving Cookies
- Deleting a Cookie
- Servlet Context
- Servlet Context Attributes
- Resource
- Session Tracking
- Tracking Techniques
- Cookies
- Cookies – an Example
- HTML Hidden Fields
- Using HttpSession
- Session Invalidation
- An Example of Session Tracking Code…
- HttpSession – URL Rewriting
- Summary
Chapter 4 – JavaServer Page (JSP) Basics
- JavaServer Pages
- JavaServer Pages 2.1
- A Simple Example – Hello.jsp
- JSP Benefits
- Evolution of Dynamic Content Technologies
- How JSP Works
- JSP Invocation
- JSP Scripting Elements
- The XML Syntax
- JSP Directive
- page Directive Attributes
- page Directive – an Example
- page Attribute – errorPage
- page Attribute – isErrorPage
- Using XML Syntax
- Directives – include
- Include – an Example
- Include at compile time vs. at request time
- Request time inclusion
- JSP Declarations
- Declarations – an Example
- JSP Expressions
- JSP Expressions – an Example
- JSP Scriptlets
- JSP Scriptlets – an Example
- JSP Comments
- JSP Predefined Variables
- The request Object
- The response Object
- The out Object
- Out – an Example
Chapter 5 – Using Java Beans with JSP
- What is a JavaBean?
- Structure of a JavaBean
- Life Cycle
- Properties
- Very Simple Bean
- Using Java Beans in JSP
- The <jsp:useBean> tag
- Java Bean scope
- <jsp:useBean> in Action
- The <jsp:getProperty> tag
- Mapping all the request parameters
- Another Example
- Mixing Scriptlets and Bean tags
- Summary
Chapter 6 – Model/View/Controller Pattern
- Key Issues for Web Application Development Productivity
- Web Application Programming Model – MVC
- Model
- View
- Controller
- JavaBeans
- MVC Implementation
- Request Dispatching
- Request Dispatching – Forward vs. Include
- Request Dispatching – forward Request to JSP
- HTTP Redirection
- Dispatch vs. redirection
- Redirecting to a JSP
- Supply Result Information to the JSP
- A Simple Example
- Display JavaBean Properties in JSP
Chapter 7 – Working with Databases
- What is JDBC?
- JDBC Architecture
- JDBC: Basic Steps
- Loading a Driver
- DB2 UDB JDBC Drivers
- Oracle JDBC Drivers
- Create a Connection
- Connection
- Statement
- PreparedStatement
- Advantages of Prepare Statement
- ResultSet
- Example JDBC Servlet With Transactions
- Close the Connection
- Need for Connection Pooling
- Connection Pooling in JDBC 2.0
- Connection Pooling
- Basic Steps in Using JDBC Connection Pooling
- Access a DataSource
- Get a Connection
- Release Connections
- Connection Pool Example
- Resource References
Chapter 8 – JSP Expression Language and Standard Tag Library
- JSP Expression Language (EL)
- Basic Usage
- Unified Expression Language
- Built-in Objects
- Working With Arrays and Maps
- Operators
- Full Example
- JSP Standard Tag Library (JSTL)
- Run Time Version
- Basic Tags
- Condition Tags
- Iterator Tags
- Internationalization (I18N)
- Setting Preferred Locale
- Specifying Resource Bundle
- Display Translated Text
- Display Number
- Display Date
- JDBC Tags
- Specify Data Source
- Performing a Query
- Display Result
- Pagination Example
- Function Tags
- Function Syntax
- fn Functions
Chapter 9 – Servlet Filters
- What is a filter?
- Why use a filter?
- Uses for Filtering
- Features of filters
- The Filter interface
- How a filter works
- In what order?
- A Simple Logging Filter
- Configuring the filter
- Mapping the filter
- The Web Deployment Descriptor
- Common filter tasks
- Request and Response Wrappers
Chapter 10 – Servlet Event Listener
- What are Listeners
- Types of Listeners
- Writing a Servlet Context Listener
- Writing a Servlet Context Attribute Listener
- Writing a Session Activation Listener
- Writing a Session Attribute Listener
- Registering Listeners
- Lifecycle of Listeners
Chapter 11 – JSP Custom Tag Development
- What is Custom Tag?
- Why Develop Custom Tags?
- The Nature of a Custom Tag
- Tag Body
- Fragment Attribute
- Dynamic Attributes
- Tag Library Descriptor (TLD)
- Tag Implementation Options
- The Simple Tag API
- Example Tag Class
- Life Cycle of a Simple Tag
- The JspContext Object
- Dealing With the Body
- Implementing an Iteration Tag
- Accessing a Parent Tag
- Working With Fragment Attributes
- The TLD File
- Defining a Tag
- Defining a Tag
- Packaging a Tag Library
- Using a Tag Library
- The Tag File Approach
- Example Tag File
- The Tag Directive
- Defining Attributes
- Working With Variables
- Working With Fragment Attributes
- Packaging Tag Files
- Creating the TLD File
- Using a Tag File From a JSP
Chapter 12 – Introduction to JavaServer Faces
- What is JavaServer Faces (JSF)?
- Why Use JSF?
- Nature of a JSF Application
- The Sun Reference Implementation (RI)
- JSF and MVC
- Faces Servlet
- Managed Bean
- The View
- A Simple JSF Application
- The Input Form: form.jsp
- The Result: thanks.jsp
- The Controller: AddressBean
- Page Flow or Navigation Rule
- How Does the Application Work?
- Under the Covers: The Rendered Form HTML
- Under the Covers: The Layout Tree
Chapter 13 – Managed Bean
- What is a Managed Bean?
- Why Do You Need Managed Beans?
- Managed Bean As a Controller
- Registering a Managed Bean
- Lifecycle of a Managed Bean
- Initializing a Managed Bean
- What Scope to Use?
- Value Binding
- Value Binding
- Property Data Conversion
- Advanced Property Types
- Component Binding
- Other Binding Types
- Basic Input Processing
- Advanced Input Processing
- JSF Expression Language
- Language Basics
- Use of Expression in JSF
- Basic Expression
- Property Access Expression
- Map Access Expression
- Complex Access Expression
- Predefined Objects
- Operators
Is there a discount available for current students?
UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Online courses are excluded from this offer.
What is the cancellation and refund policy?
Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.