The following major changes have been made to the specification since version 2.1:
The introduction of the web application concept
The introduction of the web application archive files
The introduction of response buffering
The introduction of distributable servlets
The ability to get a RequestDispatcher by name
The ability to get a RequestDispather using a relative path
Internationalization improvements
Many clarifications of distributed servlet engine semantics
The following changes have been made to the API:
Added the getServletName method to the ServletConfig interface to allow a servlet to obtain the name by which it is known to the system, if any.
Added the getInitParameter and getInitPaameterNames method to the ServletContext interface so that initialization parameters can be set at the application level to be shared by all servlets that are part of that application.
Added the getLocale method to the ServletRequest interface to aid in determining what locale the client is in.
Added the isSecure method to the ServletRequest interface to indicate whether or not the request was transmitted via a secure transport such as HTTPS.
Replaced the construction methods of UnavailableException as existing constructor signatures causing some amount of developer confusion. These constructors have been replaced by simpler signatures.
Added the getHeaders method to the HttpServletRequest interface to allow all the headers associated with a particular name to be retrieved from the request.
Added the getContextPath method to the HttpServletRequest interface so that the part of the request path associated with a web application can be obtained.
Added the isUserInRole and getUserPrinciple methods to the HttpServletRequest interface to allow servlets to use an abstract role based authentication.
Added the addHeader , addIntHeader , and addDateHeader methods to the HttpServletResponse interface to allow multiple headers to be created with the same header name.
Added the getAttribute , getAttributeNames , setAttribute , and removeAttribute methods to the HttpSession interface to improve the naming conventions of the API. The getValue , getValueNames , setValue , and removeValue methods are deprecated as part of this change.
In addition, a large number of clarifications have been made to spec.