Java Web Development

Chapters

  1. 1. Introduction and Setup
    1. 1.1. Why Learn Java?
    2. 1.2. Setup For Java
    3. 1.3. Java Web Dev Exercises
    4. 1.4. Java Naming Conventions
  2. 2. Data Types
    1. 2.1. Data Types
    2. 2.2. Some Java Practice
    3. 2.3. More Data Types
    4. 2.4. Exercises: Data Types
    5. 2.5. Studio: Area of a Circle
  3. 3. Control Flow and Collections
    1. 3.1. Conditionals
    2. 3.2. Loops
    3. 3.3. Collections
    4. 3.4. ArrayList
    5. 3.5. Array
    6. 3.6. HashMap
    7. 3.7. Exercises: Control Flow and Collections
    8. 3.8. Studio: Counting Characters
  4. 4. Classes in Java, Part 1
    1. 4.1. Classes for Java
    2. 4.2. Modifiers in Java
    3. 4.3. Encapsulation
    4. 4.4. Constructors
    5. 4.5. Methods
    6. 4.6. Single Responsibility Principle
    7. 4.7. Exercises: Classes and Objects
    8. 4.8. Studio: Restaurant Menu
  5. 5. Classes and Objects, Part 2
    1. 5.1. Customizing Fields
    2. 5.2. Instance and Static Methods
    3. 5.3. Special Methods
    4. 5.4. IntelliJ Generator Shortcut
    5. 5.5. Exercises: Objects and Classes, Part 2
    6. 5.6. Studio: Restaurant Menu Continued
  6. 6. Unit Testing
    1. 6.1. Testing in Java
    2. 6.2. JUnit
    3. 6.3. Exercises: Unit Testing
    4. 6.4. Studio: Unit Testing
  7. 7. Inheritance
    1. 7.1. Inheritance in OOP
    2. 7.2. Inheritance in Java
    3. 7.3. A Tale of Two Cats
    4. 7.4. Inheriting from Abstraction
    5. 7.5. Casting
    6. 7.6. Testing Inheritance
    7. 7.7. Class Diagrams
    8. 7.8. Exercises: Inheritance
    9. 7.9. Studio: Fun with Quizzes
  8. 8. Interfaces and Polymorphism
    1. 8.1. Introduction
    2. 8.2. Interfaces
    3. 8.3. Interfaces and Abstract Classes
    4. 8.4. Interfaces In The Wild
    5. 8.5. Unit Testing and Interfaces
    6. 8.6. Exercises: Interfaces and Polymorphism
    7. 8.7. Studio: Spinning the Discs
  9. 9. Spring Into MVC
    1. 9.1. Design Patterns, MVC, and Spring, Oh My!
    2. 9.2. Initialize Spring
  10. 10. Controllers and Routing
    1. 10.1. Simple Controllers
    2. 10.2. Controllers with Parameters
    3. 10.3. Controllers with Forms
    4. 10.4. Class Level Controller Annotations
    5. 10.5. Exercises: Controllers and Routing
    6. 10.6. Studio: Skills Tracker
  11. 11. Thymeleaf Views
    1. 11.1. Templates
    2. 11.2. Creating a Template
    3. 11.3. Using a Template
    4. 11.4. Iterating in a Template
    5. 11.5. Conditionals in a Template
    6. 11.6. Thymeleaf Forms
    7. 11.7. Template Fragments
    8. 11.8. Static Resources
    9. 11.9. Bootstrap
    10. 11.10. Exercises: Thymeleaf
    11. 11.11. Studio: Spa Day!
  12. 12. Models and Model Binding
    1. 12.1. Models in MVC
    2. 12.2. Create a Model
    3. 12.3. Models and Data
    4. 12.4. Model-Binding
    5. 12.5. Exercises: Edit Model Classes
    6. 12.6. Studio: Spa User Signup
  13. 13. Model Validation
    1. 13.1. Server-Side Validation
    2. 13.2. Validation Annotations
    3. 13.3. Validating Models in a Controller
    4. 13.4. Thymeleaf Form Tools
    5. 13.5. Exercises: Model Validation
    6. 13.6. Studio: Spa User Validation
  14. 14. Enumeration Types
    1. 14.1. Introduction to Enums
    2. 14.2. Enums in Model Classes
    3. 14.3. Exercises: Enum Practice
  15. 15. Databases and SQL
    1. 15.1. What is SQL?
    2. 15.2. SQL Queries
    3. 15.3. Joins
    4. 15.4. Exercises: SQL, Part 1
    5. 15.5. Studio: Movie SQLs
  16. 16. The SQL Sequel
    1. 16.1. Table Relationships
    2. 16.2. Database Management
    3. 16.3. Complex Queries
    4. 16.4. Exercises: The SQL Sequel
    5. 16.5. Studio: A Library
  17. 17. Introduction to Object-Relational Mapping
    1. 17.1. Object-Relational Mapping
    2. 17.2. Accessing Data
    3. 17.3. Repositories
    4. 17.4. Exercises: OMG the ORM!
    5. 17.5. Studio: Creating an AbstractEntity
  18. 18. Relationships in Object-Relational Mapping
    1. 18.1. Types of Relationships
    2. 18.2. Creating a Many-to-One Relationship
    3. 18.3. Creating a One-to-Many Relationship
    4. 18.4. Creating a One-to-One Relationship
    5. 18.5. Creating a Many-to-Many Relationship
    6. 18.6. Exercises: The Early Bird Gets the ORM!
  19. 19. Authentication
    1. 19.1. Introduction to Authentication
    2. 19.2. Hashing Passwords
    3. 19.3. Creating a User Model
    4. 19.4. Login and Registration Forms
    5. 19.5. Filtering Requests
    6. 19.6. Studio: TechJobs Authentication