Duration: 5 Days
This comprehensive hands-on workshop is geared for experienced programmers who have prior working knowledge of object-oriented (OO) programming languages such as C++ or C#. You will gain essential core Java programming skills and learn coding best practices in preparation for building server-side applications on the JEE platform. You will explore key JEE technologies (such as Servlets/Java Server Pages (JSPs) and JDBC) and learn how to apply them to create and deploy flexible Java/JEE-based web applications that are robust, efficient, secure, and maintainable.
As an added bonus, you will also receive our Java & JEE Case Study. This self-guided project provides a continuing skills-application thread that begins with object-oriented concepts and extends through the development of a complete basic Java/JEE application. Taking concepts presented in the adjunct Java fundamentals training course that are demonstrated in the associated lab, you will apply them to your own evolving application. This series of labs, when used in conjunction with course materials, will provide you with solid practice exploring and utilizing skills you need on the job.
What You Will Learn
Working in a dynamic, interactive discussion and hands-on programming environment, you will learn:
- Fundamentals of the Java language as well as its importance, uses, strengths, and weaknesses
- Basics of the Java language and how it relates to OO programming and the Object Model
- Use Java exception handling and logging features
- Use classes, inheritance, and polymorphism
- Use collections, generics, autoboxing, and enumerations
- Use the JDBC API for database access
- Work with annotations
- Design and build robust and maintainable web applications
- Create dynamic HTML content with Servlets and JSPs
- Make Servlets and JSPs work together cleanly
Audience
This introductory-level course is designed for experienced OO developers (such as C++ or C#) who need to extend their skills in Java-based 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.
Prerequistes
- Familiarity with software design and technologies is required and real-world programming experience is highly recommended.
- Ideally, you should have approximately six months to a year of working knowledge of a programming language.
- Understanding of Internet architectures
- Experience with object-oriented analysis and design using UML
Course Outline
1. Java: A First Look
- The Java Development Process
- Class Files and Classes
- Primitives vs. Object References
- Methods, Objects, and Output
- The Java Platform and Java SE Development Kit (JDK)
- Lifecycle of a Java Program
- Executing Programs
- Java Virtual Machine (JVM)
- Garbage Collection
- Documentation and Code Reuse
- Working with Java in Your Environment
2. Object-Oriented Concepts In Java
- Object-Oriented Programming
- Classes and Objects
- Methods and Messages
- Inheritance, Abstraction, and Polymorphism
- Encapsulation
- Method Overriding
- Aggregation and Polymorphism
3. Getting Started with Java
- Adding Methods to the Class
- Constructors
- Language Statements
- Operators
- Looping and Statements
- Using Strings
- String Method
- Strings, StringBuffer, StringBuilder, StringTokenizer
- Scanner
- Formatter
- Specializing in a Subclass
4. Essential Java Programming
- Fields and Variables
- Using Arrays
- Static Methods and Fields
- Java Packages
- Java Naming Conventions
- Refactoring in Your IDE
5. Advanced Java Programming
- Inheritance and Polymorphism
- Interfaces and Abstract Classes
- Exceptions
- Debugging in Your IDE
6. Java™ Developer's Toolbox
- Utility Classes
- Vector and Hashtable
- Collections
- Generics
- Overview of Java GUIs & JFC - Java Foundation Classes
- Autoboxing, Enhanced for Loop and Varargs
- Enumerations and Static Imports
- Java I/O
- Annotations
7. Java Application Development
- JDBC
- Structured Query Language (SQL)
- Connecting to the Database
- Statements and ResultSet
- Executing Inserts, Updates, and Deletes
- Java Logging
- Logging in Java
- Logging Security and Performance
8. JEE Application Architecture
- Technical Overview of JEE
- JEE Containers and Components
- Servlets/JSPs, EJBs, and Web Services
- JEE Containers, JEE Application Modules, and JEE Platform Roles
- Annotations
- Dependency Injection
9. Web Applications
- Understanding Web Applications
- JEE Application Modules
- Enterprise Application Archive (EAR)
- Enterprise JavaBean Archive (JAR)
- JEE Application Client (JAR)
- Resource Adapter Archive (RAR)
- Web Application Archive (WAR)
- Directory Structure
- Configuring Web Applications
10. Developing Servlets
- Introduction to Servlets
- Processing Input Data
- Sever-Side Control
- Client Side Control
- Session Management
- Application and Session Events
11. Filters
- Overview of Filters
- Filtering Requests and Responses
12. Developing JSPs
- Introduction to JSPs
- JSP Implicit Objects
Course Labs
This course is about 50% hands-on lab and 50% lecture, with extensive programming exercises designed to reinforce fundamental skills and concepts learned in the lessons.