Java / JEE Web Developer for Object Oriented Programmers
Course Objectives
You'll leave the course armed with the skills required to develop basic object-oriented applications written in Java, using sound coding techniques and best coding practices, with a specific focus on server-side development. This skills-focused course is about 50% hands-on lab to lecture ratio, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises.
Working in a hands-on learning environment led by our expert instructor, you’ll explore:
- Java language fundamentals, its importance, uses, strengths and weaknesses
- The basics of the Java language and how it relates to OO programming and the Object Model
- How to use Java exception handling and logging features
- Use classes, inheritance and polymorphism
- Collections, generics, autoboxing, and enumerations
- The JDBC API for database access
- Working with annotations
- Designing and building robust and maintainable web applications
- Creating dynamic HTML content with Servlets and Java Server Pages
- Making Servlets and JSP work together cleanly
Course Prerequisites
This is an introductory level training course, designed for experienced OO developers (such as C++ or SmallTalk) that need to extend their skills in web development and understand the basic architecture of a JEE web application and/or implement a web application, taking advantage of what JEE brings to the table.
Take After: Our core Java training courses provide students with a solid foundation for continued learning based on role, goals, or their areas of specialty. Our object oriented, Java developer learning paths offer a wide variety of follow-on courses such as:
- Continued Java & Java EE training: Spring, Microservices, RXJava, REST, Java for Web, Web Services, Tuning, Patterns & more
- TDD / Test Driven Development, JUnit / Unit Testing, Agile development training
- Secure Java Coding / Java Security and secure application web development training
- Mobile developer / Android training
- Please contact us for recommended next steps tailored to your longer-term education, project, role or development objectives.
Course Agenda
Part One: Core Java Programming
Session: Java: A First Look
Lesson: The Java Platform
- Java Platforms
- Lifecycle of a Java Program
- Responsibilities of JVM
- Documentation and Code Reuse
Lesson: Using the JDK
- Setting Up Environment
- Locating Class Files
- Compiling Package Classes
- Source and Class Files
- Java Applications
Session: Getting Started with Java
Lesson: Writing a Simple Class
- Classes in Java
- Class Modifiers and Types
- Class Instance Variables
- Primitives vs. Object References
- Creating Objects
Lesson: Adding Methods to the Class
- Passing Parameters Into Methods
- Returning a Value From a Method
- Overloaded Methods
- Constructors
- Optimizing Constructor Usage
Lesson: Language Statements
- Operators
- Comparison and Logical Operators
- Looping
- Continue and Break Statements
- The switch Statement
- The for-each() Loop
Lesson: Using Strings
- Strings
- String Methods
- String Equality
- StringBuffer
- StringBuilder
Lesson: Specializing in a Subclass
- Extending a Class
- Casting
- The Object Class
- Default Constructor
- Implicit Constructor Chaining
Session: Essential Java Programming
Lesson: Fields and Variables
- Instance vs. Local Variables: Usage Differences
- Data Types
- Default Values
- Block Scoping Rules
- Final and Static Fields
- Static Methods
Lesson: Using Arrays
- Arrays
- Accessing the Array
- Multidimensional Arrays
- Copying Arrays
- Variable Arguments
Lesson: Java Packages and Visibility
- Class Location of Packages
- The Package Keyword
- Importing Classes
- Executing Programs
- Java Naming Conventions
Session: Advanced Java Programming
Lesson: Inheritance and Polymorphism
- Polymorphism: The Subclasses
- Upcasting vs. Downcasting
- Calling Superclass Methods From Subclass
- The final Keyword
Lesson: Interfaces and Abstract Classes
- Separating Capability from Implementation
- Abstract Classes
- Implementing an Interface
- Abstract Classes vs. Interfaces
Lesson: Exceptions
- Exception Architecture
- Handling Multiple Exceptions
- Automatic Closure of Resources
- Creating Your Own Exceptions
- Throwing Exceptions
- Checked vs. Unchecked Exceptions
Session: Java Developer's Toolbox
Lesson: Utility Classes
- Wrapper Classes
- The Number Class
- Random Numbers
- Autoboxing/Unboxing
- The Date Class
Lesson: Inner Classes
- Member Inner Classes
- Local Inner Classes
- Anonymous Inner Classes
- Anonymous Subclassing
Lesson: Enumerations and Static Imports
- Enumeration Syntax
- When You Should Use Enumerations
- Using Static Imports
- When You Should Use Static Imports
Session: Collections and Generics
Lesson: Introduction to Generics
- Generics and Subtyping
- Bounded Wildcards
- Generic Methods
- Legacy Calls To Generics
- When Generics Should Be Used
Lesson: Collections
- Characterizing Collections
- Collection Interface Hierarchy
- Iterators
- The Set Interface
- The List Interface
- Queue Interface
- Map Interfaces
- Using the Right Collection
- Collections and Multithreading
Part 2: Developing Java EE Applications
Session: Java Application Development
Lesson: Introduction to Annotations
- Annotations Overview
- Working with Java Annotations
Session: Java EE Application Architecture
Lesson: Technical Overview of Java EE
- Common Themes In JEE Framework
- JEE Containers and Components
- JEE Containers
- JEE Platform Roles
- Annotations
- Dependency Injection
Session: Web Applications
Lesson: Understanding Web Applications
- Java EE Application Modules
- Enterprise Application Archive (EAR)
- Enterprise JavaBean Archive (JAR)
- Web Application Archive (WAR)
Lesson: Configuring Web Applications
- Mapping an HTTP Request to a Resource
- The web.xml File
- Annotations
Session: Developing Servlets
Lesson: Introduction to Servlets
- Life Cycle of Servlets
- HttpServlet doXXX Methods
- HttpServletRequest Methods
- HttpServletResponse
Lesson: Debugging Java EE Applications
- Breakpoints
- Running a Server in the Debug Mode
- Variables View
- Change Variable Value
Lesson: Processing Input Data
- Form Processing with Servlets
- HTML Form
- LoginServlet doPost
Lesson: Server-side Control
- Request Dispatcher
- Forward the processing
- Include processing
- HTTP Request Information
- Threading and Data
Lesson: Client-side Control
- Setting Status Codes
- Setting Headers
- sendRedirect
- Supporting Persistent Connections
- Dynamic Content Pushing
Lesson: Session Management
- Tracking Problem – Stateless HTTP
- Data Problem – Session Data
- Cookie Behavior; Retrieving Cookies
- URL Rewriting
- Web Container Manages Session Instances
- Cookie-Based Sessions
- Getting Rid of Http Sessions
Lesson: Application and Session Events (Optional)
- Event Listener Model
- Life Cycle Events in a Web-Application
- Type of Events
Session: Filters
Lesson: Overview of Filters
- Single Filter
- Filter Life Cycle
- Cascading Filters
Lesson: Filtering Requests and Responses (Optional)
- Request Wrapper
- Process the Request
- Filter the Response
- Response Wrapper
Session: Developing JavaServer™ Pages
Lesson: Introduction to JSPs
- Separating Presentation from Model
- Lifecycle of a JSP
- JSP Scripting: Declarations; Expressions; Scriptlets
- &
- Directives
- JSP Actions
- JSPs or Servlets?
Lesson: JSP Implicit Objects
- Implicit Objects
- Attributes
- Session Attributes
- Exception Handling
Session: Database Integration: JDBC and Java EE
Lesson: JDBC and Its Position in Java EE
- JDBC in JEE
- Programming with DataSources
- JNDI names
- DataSource Programming Best Practices
Lesson: JDBC Data Access API
- Statements
- PreparedStatements
- ResultSet
- Executing Inserts, Updates, and Deletes
- Mapping SQL Types to Java Types
- CallableStatement
Lesson: The DAO Pattern
- Data Access Object (DAO)
- DAO Structure
- The DAOFactory
- Complete UML Diagram
Sorry! It looks like we haven’t updated our dates for the class you selected yet. There’s a quick way to find out. Contact us at 502.265.3057 or email info@training4it.com
Request a Date