Instance de servlet


Servlet est une classe Java qui sert les requêtes HTTP et implémente l'interface javax.servlet.Servlet. Les développeurs d'applications Web écrivent généralement des servlets qui étendent javax.servlet.http.HttpServlet et implémentent des classes abstraites de l'interface Servlet spécifiquement pour gérer les requêtes HTTP.

Exemple de code Hello World

Ce qui suit est l'exemple de code source permettant au servlet de générer Hello World :

// 导入必需的 java 库
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// 扩展 HttpServlet 类
public class HelloWorld extends HttpServlet {
 
  private String message;

  public void init() throws ServletException
  {
      // 执行必需的初始化
      message = "Hello World";
  }

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // 设置响应内容类型
      response.setContentType("text/html");

      // 实际的逻辑是在这里
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
  }
  
  public void destroy()
  {
      // 什么也不做
  }
}

Compile Servlet

Écrivons ce qui précède code dans le fichier HelloWorld.java, placez ce fichier dans C:ServletDevel (sous Windows) ou /usr/ServletDevel (sous UNIX). Vous devrez également ajouter ces répertoires au CLASSPATH.

En supposant que votre environnement a été correctement configuré, allez dans le répertoire ServletDevel et compilez HelloWorld.java comme suit :

$ javac HelloWorld.java

Si le Servlet dépend d'autres bibliothèques, Vous devez inclure ces fichiers JAR dans CLASSPATH. Ici, j'ai uniquement inclus le fichier JAR servlet-api.jar puisque je n'utilise aucune autre bibliothèque dans le programme Hello World.

Cette ligne de commande utilise le compilateur javac intégré au kit de développement logiciel Java (JDK) de Sun Microsystems. Pour que cette commande fonctionne correctement, vous devez disposer de l'emplacement du SDK Java utilisé dans la variable d'environnement PATH.

Si tout se passe bien, la compilation ci-dessus générera le fichier HelloWorld.class dans le même répertoire. La section suivante explique comment le servlet compilé est déployé en production.

Déploiement de servlet

Par défaut, l'application Servlet se trouve sous le chemin <Tomcat-installation-directory>/webapps/ROOT, et les fichiers de classe sont placés dans <Tomcat-installation -répertoire> /webapps/ROOT/WEB-INF/classes.

Si vous avez un nom de classe complet com.myorg.MyServlet, alors cette classe Servlet doit être située dans WEB-INF/classes/com/myorg/MyServlet.class.

Maintenant, copions HelloWorld.class dans <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes et plaçons-le dans <Tomcat-installation-directory>/webapps/ Créez ce qui suit entrées dans le fichier web.xml de ROOT/WEB-INF/ :

    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>HelloWorld</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>

Les entrées ci-dessus doivent être créées dans le fichier <web-app> .</web-app> Il se peut que plusieurs entrées soient déjà disponibles dans ce fichier, mais ne vous inquiétez pas.

À ce stade, vous avez pratiquement terminé, utilisons maintenant <Tomcat-installation-directory>binstartup.bat (sous Windows) ou <Tomcat-installation-directory>/bin/startup sh (. sous Linux/Solaris, etc.) démarrez le serveur Tomcat, et enfin saisissez http://localhost:8080/HelloWorld dans la barre d'adresse du navigateur. Si tout se passe bien, vous verrez les résultats suivants :

servlet-example.jpg