Search
Java Web Development
Summary
Expanded
Chapters
¶
1. Introduction and Setup
1.1. Why Learn Java?
1.2. Setup For Java
1.3. Java in the Terminal
1.4. IntelliJ
1.5. Your First Java Project
1.6. Java Web Dev Exercises
1.7. Java Naming Conventions
2. Data Types
2.1. Data Types
2.2. Some Java Practice
2.3. More Data Types
2.4. Exercises: Data Types
2.5. Studio: Area of a Circle
3. Control Flow and Collections
3.1. Conditionals
3.2. Loops
3.3. Collections
3.4. ArrayList
3.5. Array
3.6. HashMap
3.7. Exercises: Control Flow and Collections
3.8. Studio: Counting Characters
4. Classes in Java, Part 1
4.1. Classes for Java
4.2. Modifiers in Java
4.3. Encapsulation
4.4. Constructors
4.5. Methods
4.6. Single Responsibility Principle
4.7. Exercises: Classes and Objects
4.8. Studio: Restaurant Menu
5. Classes and Objects, Part 2
5.1. Customizing Fields
5.2. Instance and Static Methods
5.3. Special Methods
5.4. IntelliJ Generator Shortcut
5.5. Exercises: Objects and Classes, Part 2
5.6. Studio: Restaurant Menu Continued
6. Unit Testing
6.1. Testing in Java
6.2. JUnit
6.3. Exercises: Unit Testing
6.4. Studio: Unit Testing
7. Inheritance
7.1. Inheritance in OOP
7.2. Inheritance in Java
7.3. A Tale of Two Cats
7.4. Inheriting from Abstraction
7.5. Casting
7.6. Testing Inheritance
7.7. Class Diagrams
7.8. Exercises: Inheritance
7.9. Studio: Fun with Quizzes
8. Interfaces and Polymorphism
8.1. Introduction
8.2. Interfaces
8.3. Interfaces and Abstract Classes
8.4. Interfaces In The Wild
8.5. Unit Testing and Interfaces
8.6. Exercises: Interfaces and Polymorphism
8.7. Studio: Spinning the Discs
9. Spring Into MVC
9.1. Design Patterns, MVC, and Spring, Oh My!
9.2. Initialize Spring
10. Controllers and Routing
10.1. Simple Controllers
10.2. Controllers with Parameters
10.3. Controllers with Forms
10.4. Class Level Controller Annotations
10.5. Exercises: Controllers and Routing
10.6. Studio: Skills Tracker
11. Rules to the Exceptions
11.1. Check the Temperature with Exceptions
11.2. Exercises: Exceptions
13. Thymeleaf Views
13.1. Templates
13.2. Creating a Template
13.3. Using a Template
13.4. Iterating in a Template
13.5. Conditionals in a Template
13.6. Thymeleaf Forms
13.7. Template Fragments
13.8. Static Resources
13.9. Bootstrap
13.10. Exercises: Thymeleaf Views
13.11. Studio: Spa Day!
14. Models and Model Binding
14.1. Models in MVC
14.2. Create a Model
14.3. Models and Data
14.4. Model-Binding
14.5. Exercises: Edit Model Classes
14.6. Studio: Spa User Signup
15. Model Validation
15.1. Server-Side Validation
15.2. Validation Annotations
15.3. Validating Models in a Controller
15.4. Thymeleaf Form Tools
15.5. Exercises: Model Validation
15.6. Studio: Spa User Validation
16. Enumeration Types
16.1. Introduction to Enums
16.2. Enums in Model Classes
16.3. Exercises: Enum Practice
17. Introduction to Object-Relational Mapping
17.1. Object-Relational Mapping
17.2. Accessing Data
17.3. Repositories
17.4. Exercises: OMG the ORM!
17.5. Studio: Creating an
AbstractEntity
18. Relationships in Object-Relational Mapping
18.1. Types of Relationships
18.2. Creating a Many-to-One Relationship
18.3. Creating a One-to-Many Relationship
18.4. Creating a One-to-One Relationship
18.5. Creating a Many-to-Many Relationship
18.6. Exercises: The Early Bird Gets the ORM!
19. Authentication
19.1. Introduction to Authentication
19.2. Hashing Passwords
19.3. Creating a
User
Model
19.4. Login and Registration Forms
19.5. Filtering Requests
19.6. Studio: TechJobs Authentication
Index
Studios
¶
2.5. Studio: Area of a Circle
3.8. Studio: Counting Characters
4.8. Studio: Restaurant Menu
5.6. Studio: Restaurant Menu Continued
6.4. Studio: Unit Testing
7.9. Studio: Fun with Quizzes
8.7. Studio: Spinning the Discs
10.6. Studio: Skills Tracker
12.3. Studio: If It Ain’t Broke, Add a Breakpoint!
13.11. Studio: Spa Day!
14.6. Studio: Spa User Signup
17.5. Studio: Creating an
AbstractEntity
19.6. Studio: TechJobs Authentication
Assignments
¶
Assignment #0: Hello, World!
Assignment #1: Tech Jobs (Console Edition)
Assignment #2: Tech Jobs (Object-Oriented Edition)
Assignment #3: Tech Jobs (MVC Edition)
Assignment #4: Tech Jobs (Persistent Edition)
Appendices
¶
About This Book
Thymeleaf Commands
Java Web Dev Software Installations
Exercise Solutions