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 Isidro's 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 Packt's 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 DescriptionEver 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 requiredWhat 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 forJava 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.