In my search for information about what a web.xml exactly is and does, I ran across a video series on YouTube of Dr. Jules White who created over 70 videos explaining the basics and advanced topics of creating web services for mobile applications. The videos are roughly between 5 and 15 minutes long, so they are ideal for in-between watching, without sacrificing in content. You can binge them too, of course.
What I found most pleasing is that his presentation style is very informative and professional. There are no awkward pauses or anything else that would make me cringe. It’s very pleasant to watch and there’s a lot of good information in it, even for someone that already has a background in building web applications.
I created this list of links to all the individual videos because wanted to have more structure and information than a YouTube Playlist can provide in case I want to go back and watch something particular. Additionally, there’s a little sorting and numbering bug in the YouTube Playlist 😉
So, here you (or I) go.
Section 1: Communication Protocols
Module 1: HTTP
- Introduction
- What are Communication Protocols?
- Intro to HTTP
- Why HTTP?
- What is a Cloud Service?
- HTTP Request Methods
- HTTP Request Anatomy
- URLs & Query Parameters
- Mime Types & Content Type Headers
- Part 10: Request Body Encoding
- HTTP Response Anatomy
- HTTP Response Codes
- Cookies
Module 2: Building Cloud Services on HTTP
- Building Cloud Services on HTTP
- Protocol Layering & HTTP Design Methodologies
- What is REST?
- HTTP Polling
- Push Messaging
Section 2: Java Web Application
Module 1: Servlets
- What are Servlets?
- Routing & web.xml
- A First cloud Service with a Servlet
- Video Servlet Code Walkthrough
- Video Servlet Test Code Walkthrough
- Securely Handling Client Data & Avoiding Injection Attacks
Module 2: Spring as a Servlet
- Intro to Java Annotations
- HTTP to Object Marshalling
- Intro to JSON
- The Spring Dispatcher Servlet & Controller Abstraction
- Intro to Spring Controllers
- Accepting Client Data with RequestParam Annotations
- Accepting Data with PathVar Annotations
- Accepting Client Data with Request Body Annotations & JSON
- Handling Multipart Data
- Part 10: Generating Responses with the ResponseBody Annotation
- Custom Marshalling with Jackson Annotations
- Spring Boot & Application Structure
- Spring Controller Code Walkthrough
Module 3: Retrofit
Module 4: Spring DI Container
- Spring Dependency Injection & Auto Wiring
- Spring Configuration Annotations
- Spring Dependency Injection Code Walkthrough
Section 3: Object Relation Mappers (ORMs)
Module 1: Available ORMs
- Object to Database Mapping
- The Java Persistence API
- Spring Repositories
- Understanding SQL Injection Attacks
- Spring Data Code Walkthrough
Module 2: Spring Data REST
Section 4: Authentication & Authorization
Module 1: Security
Module 2: Spring Security Framework
- Sessions
- Understanding Session Security
- Spring Security Overview
- Building a Custom UserDetailsService
- Spring Security Method Annotations
- Accessing User Accounts when Handling Requests
Module 3: OAuth 2.0
- Stateful Sessions with Cookies & Why they aren’t Ideal for Mobile
- Intro to OAuth 2.0
- OAuth 2.0 & the Password Grant Flow
- Using Tokens for Resource Access
- Spring Security OAuth 2.0
Section 5: Deployment & Performance
Module 1: Scaling
- Horizontal Scaling
- Load Balancing Stateless vs. Stateful Applications
- Auto-scaling
- IaaS vs. PaaS
- Offloading to Cloud Provider Services
Module 2: Optimization
- NoSQL Databases
- Optimizing for Query Patterns
- Optimizing for Reads vs. Writes
- Write Contention & Sharding
Module 3: Deployment
Outro
Behind the Scenes: Building a Low-cost Lightboard for Video Lectures