Packt Publishing
frameworksand application architecture
This book is printed on demand and is non-refundable after purchase
Available Formats :
Printed Book
It will be sent to your address
"The best developers of the future will have a deep appreciation for the fundamentals that make great software possible, and also deeply enjoy the craft of development. This book, built on Professor Isidros beliefs of the importance of fundamentals and on having fun developing software, gives you both."
- Bruno Souza
Free with your book: DRM-free PDF version + access to Packts next-gen Reader*
Key Features:
- Build a multithreaded HTTP server and application container using Java sockets
- Understand and replicate the internal mechanics of Tomcat and Jakarta EE, and Spring features
- Develop a modular Java framework with annotation-based routing and dependency injection
- Purchase of the print or Kindle book includes a free PDF eBook
Book Description:
Ever wondered how web servers like Tomcat process requests, or what really happens behind frameworks such as Spring? This book takes you beneath the surface of Java web development to uncover the why behind the tools you use every day. Rather than focusing solely on coding recipes, this book emphasizes the underlying concepts and design principles that govern how web servers and frameworks operate.
Starting with low-level socket programming, youll build a multithreaded HTTP server from the ground up and extend it into a lightweight application server capable of handling dynamic content.
Along the way, youll master HTTP request parsing, response generation, servlet-like request handling, and Java reflection and annotations for metaprogramming. As you progress, youll evolve this infrastructure into your own Java framework with embedded Tomcat, annotation-driven routing, object serialization with Jackson, and basic dependency injection modeled on Jakarta CDI.
By the end of this journey, youll understand the principles behind them, enabling you to reason about system design, troubleshoot complex issues, and apply these concepts across frameworks and programming languages.
*Email sign-up and proof of purchase required
What You Will Learn:
- Implement a multithreaded web server using Java sockets
- Decode and construct HTTP requests and responses manually
- Build an application container to serve dynamic Java classes
- Serialize and deserialize JSON data using Jackson
- Structure projects with modular static and dynamic content
- Replicate the internal mechanics of Tomcat, Jakarta EE, and Spring features
- Manage lightweight session handling and routing logic
- Create and deploy a complete custom Java web framework
Who this book is for:
Java developers, computer science students, and educators seeking a deep, hands-on understanding of web server internals and application framework design. Prior knowledge of Java and basic networking concepts is recommended.
Table of Contents
- Networks, Protocols, and Packets
- Workings of a Web Server - A Case Study
- Implementing a Simple Web Server
- Web Servers vs Application Servers
- Deep Dive into Simple Web Container Implementation
- Simple Web Container Improvements and Expansions
- Why Create a Web Framework
- Web Frameworks - The Necessary Abstraction for Professional Development
- Detailing the SimpleWebFramework Implementation
- The Emergence of Dependency Injection and Its Application in SimpleWebFramework
- Creating the First Application with SimpleWebFramework
Report an issue with this product.