Preface

This book is intended to serve as the textbook for real beginners (i.e., freshman or sophomore students) at SWUFE.

If you have any suggestions, please feel free to contact me via email ([email protected]).

Web development has evolved from a single plain page to a central component which supports a variety of applications for virtually all enterprises, and as a result, knowledge about web development techniques has become an essential part of an education in computer science, software engineering and information management. In this text, we present the fundamental concepts and techniques of web development in Java.

We assume only a familiarity with basic programming skills in Java. As a matter of fact, you may further pick up other popular programming languages, such as PHP, Python, Ruby, C#, or Go to develop a website in your future career. But please do no worry: all efforts would pay-off, as the concepts and techniques learned in this book will definitely enhance your understanding about programming, especially web development, and you will get comfortable when switching to an alternative platform.

This book is mainly inspired by Head First Servlets and JSP, 2nd Edition (short for HFBook in this text). Speaking of HFBook, we would take off our hat to it and admit that it is a fantastic hand-on book for real beginners, but it was written in 2008 based on J2EE 1.5[1], and during the last 13 years, the web development in Java has been progressed dramatically. Therefore, we think it is necessary to write a new book covering the state-of-the-art and best practices for people who are looking to grasp the latest skills for web development in Java.

In addition to the knowledge in the Java web domain, we also bring some material and basic tutorials with respect to tools into this book. Quoted from The Missing Semester of Your CS Education in MIT:

Classes teach you all about advanced topics within CS, from operating systems to machine learning, but there’s one critical subject that’s rarely covered, and is instead left to students to figure out on their own: proficiency with their tools[2].

Therefore, tools and tricks that are commonly used among modern developers in their daily coding routines will emphasized in this book.

Who is the book for?

If you can answer "yes" to all of these:

  1. Do you know how to program in Java (you don't need to be a guru)?
  2. Do you want to write a website on your own?

this book is for you.

What is missing from this book?

Similar to HFBook, in this text, we only focus on Servlet, an essential component in Java web profile [3]. Therefore, topics like Jakarta XML, WebSocket, EJB and JMS will not be covered in this book.


[1] J2EE has renamed to Jakarta EE in 2018, and the latest version is Jakarta EE 9.

[2] The Missing Semester of Your CS Education, https://missing.csail.mit.edu/.

[3] Web profile is a subset of the full profile in Jakarta Enterprise Edition (Jakarta EE).