anchor.diff:  
   This document gives a (rough and incomplete) overview of Servlets in Java EE application servers. This document may serve as an introduction to application servers in Java EE.
   
  -NOTE: The reader supposedly has basic knowledge of link:HTTP.adoc[HTTP].
  +NOTE: The reader supposedly has basic knowledge of link:HTTP.adoc[HTTP], link:Maven.adoc[Maven] and link:Glassfish.adoc[application servers]. (You are not obliged to use Glassfish, though.)
   
   == Overview
  -=== Application servers
  -Java EE defines a http://www.oracle.com/technetwork/java/javaee/tech/index.html[set] of specifications, known as Java Specification Requests (JSR). Application servers have to implement [small]#(parts of)# these standards in order to be compliant with [small]#(a subset of)# Java EE. An important standard among those is the Servlet API, or https://www.jcp.org/en/jsr/detail?id=340[JSR 340].
  -
  -A Java EE application server is a piece of software that ease the development of web applications, by providing services to the Java web developer. Your application server provides containers in which you, the web developer, embed your code. The container calls your code whenever adequate.
  -
  -Examples of Java EE compliant application servers: GlassFish (Oracle, open source, reference implementation of Java EE), WildFly (Red Hat / JBoss, open source), WebSphere AS (IBM)…
  -
  -=== Servlets
   A servlet is a piece of software that, given some web request parameters, returns some response to the request. You, the web application developer, write the code that, given the request parameters, computes the response. That code gets embedded into the “web” container of your application server.
   
   The web container is one of the containers provided by any Java EE compliant application server. The web container listens for web requests on some port and will call your servlet code whenever it detects a web request directed to your servlet. The Java servlet specification also defines how to tell the application server which web requests should be sent to your servlet code.
  
positive.code: == Test servlets from command line
  Once you have written your servlet, you want to easily test it. See link:HTTP.adoc#curl[HTTP].
  
  == Refs
  * Servlet 3.1 (JSR 340) specification: http://download.oracle.com/otn-pub/jcp/servlet-3_1-fr-eval-spec/servlet-3_1-final.pdf[PDF]
  
  == Supplementary details
  
  
negative.code: In this document, web requests are considered to be HTTP requests. [small]#(The specification is more general but I doubt anybody would seriously consider writing non HTTP servlets in a Java EE application server.)#
  
  == Servlets in Java EE
  
  === My first web project
  To start a Maven compatible web project, create a new folder, use https://github.com/oliviercailloux/samples/blob/master/JavaEE-Servlets/pom.xml[this] sample pom, then import the project into Eclipse.
  
  === My first servlet
  For you to define a new servlet that will be recognized as such by the container, you must define a new class that represents your servlet, and:
  