Book Image

The Java Workshop

By : David Cuartielles, Andreas Göransson, Eric Foster-Johnson
Book Image

The Java Workshop

By: David Cuartielles, Andreas Göransson, Eric Foster-Johnson

Overview of this book

Java is a versatile, popular programming language used across a wide range of industries. Learning how to write effective Java code can take your career to the next level, and The Java Workshop will help you do just that. This book is designed to take the pain out of Java coding and teach you everything you need to know to be productive in building real-world software. The Workshop starts by showing you how to use classes, methods, and the built-in Collections API to manipulate data structures effortlessly. You’ll dive right into learning about object-oriented programming by creating classes and interfaces and making use of inheritance and polymorphism. After learning how to handle exceptions, you’ll study the modules, packages, and libraries that help you organize your code. As you progress, you’ll discover how to connect to external databases and web servers, work with regular expressions, and write unit tests to validate your code. You’ll also be introduced to functional programming and see how to implement it using lambda functions. By the end of this Workshop, you’ll be well-versed with key Java concepts and have the knowledge and confidence to tackle your own ambitious projects with Java.
Table of Contents (20 chapters)

Exploring HTTP

With HTTP, a client application sends a specially formatted request to a server and then awaits a response. Technically, HTTP is a stateless protocol. This means that the server is not required to maintain any state information related to the client. Each client request can be treated individually as a new operation. The server does not need to store client-specific information.

Many servers do maintain some sort of state across multiple requests, though, such as when you make a purchase online, and the server needs to store the products you have selected; however, the basic protocol does not require this.

HTTP is a textual protocol (with allowances for compression). An HTTP request includes the following parts:

  • An operation (called a request method), a resource identifier for the operation, and optional parameters on a line.
  • Request headers; one per line.
  • An empty line.
  • A message body, which is optional.
  • Each line ends with two characters...