1. Position de l'API Servlet
Avec cette partie sur les servlets, nous sortons de J2SE (Java standard edition), et nous faisons un premier pas dans la partie JEE de l'API standard Java. JEE est un monde à part entière, avec une vingtaine de spécifications différentes, il n'est donc pas question ici d'en faire une présentation exhaustive.
L'API Servlet fait partie des premières API fondatrices de JEE. Elle répond à la problématique de la gestion du contenu dynamique des sites Internet. Avec JDBC et ses dérivées, elle autorise l'accès aux bases de données au travers de l'Internet et d'interfaces HTML. L’API Servlet a elle-même deux extensions principales : JSP (Java Server Pages) et JSTL : Java Server Tag Libraries.
Aujourd'hui l'API servlet en est à sa version 3.0 (JEE 6) et 2.5 (JEE 5). C'est une API mature et bien stabilisée. L'évolution naturelle de l'éco-système Java fait qu'elle ne s'utilise pas du tout comme elle s'utilisait dans les premières versions de JEE. Au début des temps, les seules solutions techniques que Java offrait pour développer des applications web dynamiques étaient les API Servlet et JSP (et JSTL dans une moindre mesure). Aujourd'hui, de nombreux frameworks sont disponibles, construits sur ces API, et ce sont eux que l'on utilise. Développer un site web dynamique en JSP, au-delà de l'application jouet, n'a aujourd'hui plus aucun sens.
Alors pourquoi étudier ces API, puisqu'elles ne sont plus utiles qu'aux développeurs de framework, c'est-à-dire à un public très restreint ? Tout simplement parce qu'elles restent à la base de ces frameworks, et même si elles sont complètement masquées, comprendre leurs concepts reste fondamental. Au travers de l'étude de l'API servlet, on étudie les notions de requête, de réponse, de session, qui restent fondamentales dans les applications web dynamiques.