Chapter 1: Introduction

Welcome to Java web! Virtually, websites have become the indispensable elements in our daily lives: you may glance at the news website (e.g., bbc.com) in the morning, and then share your memorable moments at the social website (e.g., twitter.com); after submitting your homework to your university website (e.g., swufe.edu.cn), you start to take a break and watch a cartoon at a stream video website (e.g., netflix.com). We have also witnessed the great success of various IT enterprises (e.g., Taobao, JD, and Amazon) as well as the overwhelming popularity of their services, and we may even imagine that one day we could build another world-class website. Well, it is absolutely possible. Facemash, the origin name of Facebook, was launched by Mark Zuckerberg in his Harvard dorm room. After reading this book, you should gain the same ability to build your own website.

Beside the websites, applications in smart phones, mainly Android and iOS, are in the limelight in recent years. Well, they are, in fact, sharing a common component (we usually call it back-end[1] in programming jargon). In other words, you are able to build such back-end using Java web techniques and then provide services for different platforms, such as web pages, Android, iOS, and even mini-programs[2]. As illustrated in Figure 1.1, the back-end is deployed in the remote server, so you can use one piece of Java code to support users with heterogeneous devices and systems by some prior agreement in terms of back-and-forth communications.

Figure 1.1 One back-end, multiple front-ends.

In a nutshell, web technologies are so important and widely-used. This chapter briefly introduces the overview of Java web and basic concepts of web programming.


[1] What we can see and interact (e.g., the buttons and textbox in the screen) is called front-end, and its counterpart (i.e., servers in the remote) is called back-end.

[2] Mini-programs are “sub-applications” within the WeChat ecosystem.