Cet article présente principalement les informations pertinentes de myeclipse pour créer des servlets en détail. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
Créons maintenant une application Web, qui s'appelle [myservlet] Ok. , comme indiqué ci-dessous :
Comme vous pouvez le voir depuis la fenêtre du projet, tant que nous créons un projet Web, il créera automatiquement [WEB-INF] pour nous. et créez le répertoire [lib] et le fichier web.xml en dessous. Jetons un coup d'œil au contenu du fichier web.xml que nous venons de créer :
Le fichier Web.xml définit uniquement la page d'accueil. Pourquoi vais-je regarder cela en premier ? en parler plus tard.
Bien sûr, nous pouvons construire un servlet selon la méthode de "Servlet Learning (1)", c'est-à-dire créer une classe pour hériter de la classe d'implémentation du servlet GenericServelet, remplacer la méthode service() et l'ajouter dans le fichier web.xml Configurez ce servlet.
Mais ! ! ! Nous n'utilisons pas la méthode d'héritage de la classe GenericServelet, mais héritons de la classe HttpServlet, une sous-classe de la classe GenericServelet. Quels sont les avantages de faire cela ? HttpServlet fait référence à un servlet capable de gérer les requêtes HTTP. Il ajoute certaines méthodes de traitement du protocole HTTP à l'interface Servlet d'origine, qui est plus puissante que l'interface Servlet, nous n'avons donc besoin que d'hériter de la classe HttpServlet. Si vous créez un servlet pour un projet Web dans MyEclipse, vous pouvez également voir que MyEclipse hérite du servlet que vous créez à partir de HttpServlet par défaut, comme le montre la figure ci-dessous :
Sélectionnez [Servlet] , pop-up, écrivez le nom du package et le nom du servlet que je souhaite créer : SecondServlet, comme indiqué ci-dessous :
Vous pouvez voir que MyEclipse automatiquement sélectionne la classe parent du servlet que vous souhaitez créer en tant que HttpServlet.
Lorsque nous sélectionnons la classe HttpServlet comme classe parent Servlet à hériter, nous devons savoir que la classe HttpServlet a remplacé la méthode service(). Le code de cette méthode déterminera automatiquement la méthode de requête de l'utilisateur If. c'est GET Pour les requêtes, la méthode doGet() de HttpServlet est appelée ; s'il s'agit d'une requête POST, la méthode doPost() est appelée Par conséquent, lorsque nous développons, il suffit de remplacer la méthode doGet(). ou la méthode doPost(), et il n'est pas nécessaire de remplacer la méthode service(). Pour plus de détails, veuillez vous référer à la documentation de l'API Servlet pour plus de détails sur HttpServlet.
Nous vérifions la méthode doGet et la méthode doPost, et ajoutons d'autres méthodes en fonction de la situation réelle. Cliquez ensuite sur [Suivant] et vous verrez une autre fenêtre de paramétrage :
[Générer/Mapper le fichier web.xml] : Mappez le servlet créé au fichier web.xml, ceci peut nous faire économiser beaucoup de choses. Lorsque nous choisissons de mapper le servlet dans le fichier web.xml, nous pouvons définir le contenu qui est mappé sur le fichier web.xml selon les spécifications suivantes.
[Nom de la classe Servlet/JSP] : il s'agit du contenu de la balise b472d9135dbff3dd7fcc77f5995c97d0
[Nom du servlet/JSP] : définissez le contenu de la balise 700b5f17c4d842e4bd410f680f40946b dans le fichier web.xml.
[URL de mappage servlet/JSP] : définissez le contenu de la balise 66e1775cbd9d5002635ae3285442ba88 sous la balise 870ae7edaa11700bcea972d006efb06e de la Servlet.
[Chemin du fichier web.xml] : Le chemin du web.xml n'a généralement pas besoin d'être défini.
Après avoir cliqué sur Terminer, jetons un œil au fichier web.xml Oui, le mappage du servlet vers le fichier web.xml que nous venons de définir a été ajouté par MyEclipse dans le fichier web.xml, enregistrant. nous avons beaucoup de problèmes. Comme le montre la figure ci-dessous :
Jetons un coup d'œil au contenu de la servlet :
Oui, c'est un peu compliqué, c'est parce que MyEclipse génère des servlets basés sur des modèles lors de leur création. Ici, nous pouvons d'abord supprimer ces codes inutiles. Dans la dernière partie, nous expliquerons comment modifier le modèle de servlet dans MyEclipse.
Dans ce développement de Servlet qui hérite de HttpServlet, nous ne nous soucions que de la méthode doGet et de la méthode doPost. Si vous ne savez pas quand la requête http est GET et quand elle est POST, vous pouvez utiliser ce qui suit " méthode intelligente" Pour gérer à la fois les requêtes GET ou les requêtes POST en une seule méthode :
Je viens de mentionner que la méthode service() dans HttpServlet a remplacé la méthode service() de sa classe parent GenericServlet, alors jetons un coup d'œil à la méthode service() dans HttpServlet, cliquez sur le curseur sur HttpServlet, puis appuyez sur la touche "F3" du clavier, vous trouverez :
Le code source du package Servlet jar est manquant. Ici, nous avons deux solutions :
1. Allez. sur le site officiel de Sun ou Téléchargez le code source du Servlet depuis le site officiel d'Oracle
Deuxièmement, allez sur le site officiel d'Apache-Tomcat pour télécharger le code source de Tomcat :
Choisissez simplement le format zip (on dirait que tar.gz est pour Linux).
Après le téléchargement et la décompression, le répertoire est suivi du mot "src" :
Ensuite, nous pouvons cliquer sur "Attach Source" dans MyEclipse, car il est Importez le répertoire entier, sélectionnez donc "Dossier externe". Après l'importation, nous pouvons voir le code source de HttpServlet et sa méthode service(). Le code est long et ne sera pas joint ici, mais l'idée est d'obtenir la requête. objet en premier. Méthode de requête HttpServletRequest, puis utilisez le jugement if pour appeler différentes méthodes pour chaque requête, telles que la méthode doGet ou la méthode doPost.
Ensuite, nous pouvons revenir en toute sécurité au Servlet que nous venons de créer et écrire du code dans la méthode doGet. Nous allons simplement écrire un simple retour au client avec quelques données :
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { OutputStream out = response.getOutputStream(); out.write("Hello servlet again !".getBytes()); }Ensuite démarrez le serveur et publiez le Servlet écrit Enfin, nous pouvons le visualiser dans le navigateur : Rappelez-vous, après en saisissant l'adresse de l'hôte et le port (le cas échéant) dans la barre d'adresse, si le web.xml n'est pas défini autrement, il sera suivi du nom du projet Web et de l'accès externe que vous avez défini pour le servlet dans le fichier web.xml. chemin.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!