Les servlets en Java peuvent être décrites de plusieurs manières. En tant que technologie, la servlet est utilisée pour créer des pages Web ; comme une API, qui fournit des interfaces, etc. Elle est utilisée pour étendre les capacités du serveur qui héberge les applications sur un modèle de programmation requête-réponse. Les servlets fournissent une méthode basée sur les composants et indépendante de la plate-forme pour créer des applications Web sans aucune limitation de performances. Les servlets en Java ont un accès complet aux API Java et JDBC pour accéder à la base de données de l'entreprise. Nous verrons en détail ce que sont ces servlets, pourquoi sont-ils utilisés, leurs avantages et limites, et comment fonctionnent réellement les servlets en Java.
PUBLICITé Cours populaire dans cette catégorie SERVLET JAVA - Spécialisation | 18 séries de cours | 6 tests simulésCommencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Les servlets peuvent être décrits de bien d'autres manières,
- Servlet est une technologie utilisée pour créer des applications Web
- Servlet est également une API qui fournit de nombreuses interfaces et classes ainsi qu'une documentation
- C'est une interface implémentée pour créer un servlet en Java
- C'est une classe qui étend les capacités du serveur et répond aux requêtes entrantes. Il peut s'agir de n'importe quel type de demande.
- C'est aussi un composant web déployé sur le serveur pour créer des pages web dynamiques.
Pourquoi avons-nous besoin d'un servlet en Java??
Avec la technologie croissante, nous devons nous familiariser quotidiennement avec les dernières mises à jour ou la dernière pile technologique.?Les servlets agissent comme une interface, ou comme une technologie, ou comme un composant Web, ou une classe, ou comme une API.?Avec les servlets, nous pouvons collecter des informations sur les utilisateurs via des pages/formulaires Web, ou une base de données, et toute autre source de données et créer des pages Web.
- Les servlets en Java sont similaires aux programmes implémentés à l'aide de Common Gateway Interface (CGI), mais les servlets présentent des avantages supplémentaires par rapport à CGI.
- En termes de performances, les servlets sont nettement meilleures que CGI.
- Sont indépendants de la plate-forme car les servlets sont écrits en Java.
- Ils s'exécutent dans l'espace du serveur Web. Nous n'avons pas besoin de créer un processus distinct pour traiter une demande client.
- Java Security applique un ensemble strict de restrictions pour protéger les ressources d'un ordinateur serveur, c'est pourquoi Servlet est fiable.
- Les servlets peuvent communiquer avec des bases de données, des applets ou d'autres logiciels via des sockets, des mécanismes RMI.
Comment fonctionne le servlet en Java??
Les servlets en Java vérifient l'interface de communication, les exigences du client et du serveur, le protocole utilisé, le langage de programmation et le logiciel impliqué. Les servlets sont exécutés dans les étapes suivantes,
étape 1?: Le client envoie une requête au serveur Web, lit les données explicites envoyées par le client, qui peuvent être un formulaire HTML, une applet ou un programme client HTTP personnalisé.
étape 2?: Le serveur web re?oit alors la requête.
étape 3?: Le serveur Web transmet ensuite la requête au servlet correspondant, la demande de traitement peut inclure la communication avec la base de données, l'appel du service Web ou une réponse directe.
étape 4?: Servlet traite ensuite la requête et génère une réponse sous forme de sortie. Il peut être dans n'importe quel format, HTML ou XML, GIF si images, ou Excel.
étape 5?: Ces servlets renvoient ensuite une réponse au serveur
étape 6?: Ensuite, le serveur Web renvoie une réponse au client et au client, comme le navigateur l'affiche sur l'interface utilisateur.
Architecture des servlets
L'architecture de servlet ci-dessus utilise certaines méthodes Java telles que?:
- Servlet.init()?: Appelé par Servlet pour indiquer que l'instance de Servlet est exécutée avec succès et que le service est appelé. Le servlet appelle ensuite la méthode service() pour traiter la demande du client. Puis terminé une fois le service effectué en utilisant la méthode destroy()
- Servlet.destroy()?: la méthode ne s'exécutera qu'une seule fois pendant tout le cycle de vie, ce qui nous indique que c'est la fin de l'instance Servlet.
Exemples pour créer un servlet en Java
Tout d'abord, nous devons installer Java, Eclipse et Tomcat?:
1. Nous allons créer un projet Web dynamique en utilisant File-> Nouveau-> Projet Web dynamique.
2. Entrez le nom du projet et sélectionnez Target Runtime, en cliquant sur Suivant, vous devez cocher ??Générer web.xml?? puis terminer
3. La structure du projet ressemblera un peu à celle ci-dessous.
4. Ensuite, cliquez sur Fichier-> Créez un nouveau servlet.
5. Cliquez sur Terminer ci-dessus. Désormais, Eclipse générera une classe de servlet en fonction des entrées ou de la configuration effectuée lors des étapes précédentes.
Code?:
FirstProgram.java
package com.srccode.example; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class FirstProgram */ @WebServlet("/FirstProgram") public class FirstProgram extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public FirstProgram() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
Nous modifierons notre code pour la classe Servlet comme ci-dessous,
package com.srccode.example;
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class FirstProgram */ @WebServlet("/FirstProgram") public class FirstProgram extends HttpServlet { private static final long <em>serialVersionUID</em> = 1L; /** * @see HttpServlet#HttpServlet() */ public FirstProgram() { super(); // TODO Auto-generated constructor stub } private String mymsg; public void init() throws ServletException { mymsg = "Hi eduCBA Team! We are working on Java Servlet Tutorial! This is the first Servlet Program!"; } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html"); PrintWriter printWriter = response.getWriter(); printWriter.println("<h1>" + mymsg + "</h1>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
Dans web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>ServletExample</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
Dans index.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>BeginnersBook Servlet Demo</title> </head> <body> <a href="welcome">Click to call Servlet</a> </body> </html>
Sortie?:
Cliquez à droite sur le projet et sélectionnez Exécuter en tant que-> Exécuter sur le serveur.
Maintenant, ouvrez le navigateur et nous pouvons voir la sortie ci-dessous, le serveur fonctionnera sur localhost?:
http://localhost:8080/ServletExample/FirstProgram
Avantages du servlet en Java
Les avantages du Servlet en Java sont nombreux. Les servlets peuvent être considérées comme des applet exécutées c?té serveur?:
- Les servlets sont persistants?: le servlet reste dans la mémoire jusqu'à ce qu'il soit détruit avec la méthode destroy(), ce qui aide à répondre à la requête entrante. Il établit une connexion une seule fois avec la base de données et peut gérer de nombreuses requêtes sur la même base de données. Réduction du temps et des ressources utilisées pour se connecter à la Base de données ou à toute autre source
- Les servlets sont portables?: ce qui signifie que les servlets sont compatibles avec tous les systèmes d'exploitation, c'est-à-dire que les programmes écrits dans un système d'exploitation peuvent être exécutés sur un autre système d'exploitation
- Les servlets sont indépendants du serveur?: les servlets sont compatibles avec n'importe quel serveur Web disponible sur le marché
- Les servlets sont indépendants du protocole?: les servlets peuvent prendre en charge tous les protocoles tels que FTP, Telnet, etc. Ils offrent une prise en charge étendue du protocole HTTP
- Les servlets sont sécurisés?: étant donné que ces servlets sont des programmes c?té serveur et sont invoqués par le serveur Web seul, toutes les mesures de sécurité prises par le serveur Web sont héritées
- Les servlets sont extensibles?: les servlets peuvent être étendus et transformés en objets en fonction des besoins des utilisateurs
- Les servlets sont rapides?: étant donné que ces servlets sont compilés en bytecodes, ils s'exécutent plus rapidement que les autres langages de script. Et fournit également une vérification de type et une erreur forte.
- Les servlets sont peu co?teux?: Il existe de nombreux serveurs Web gratuits disponibles pour tout type d'utilisation, qu'elle soit personnelle ou commerciale.
Avec cela, nous concluons le sujet ? Servlet en Java ?. Nous avons vu ce que sont les servlets en Java et comment sont-ils utilisés avec un exemple. Nous avons également vu ses avantages et appris comment les servlets peuvent être utilisés étape par étape avec l'architecture servlet et les méthodes servlet utilisées. Voir également pourquoi les servlets sont utilisés en Java et leurs avantages par rapport à CGI. Nous avons beaucoup plus à explorer sur les Servlets, il existe des types de Servlets également disponibles, nous approfondirons dans d'autres tutoriels.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Laravel prend en charge l'utilisation des requêtes SQL natives, mais la liaison des paramètres doit être préférée pour assurer la sécurité; 1. Utilisez DB :: SELECT () pour exécuter SELECT Queries avec la liaison des paramètres pour empêcher l'injection SQL; 2. Utilisez DB :: Update () pour effectuer des opérations de mise à jour et renvoyer le nombre de lignes affectées; 3. Utilisez db :: insert () pour insérer des données; 4. Utilisez DB :: Delete () pour supprimer les données; 5. Utilisez DB :: Instruction () pour exécuter des instructions SQL sans ensembles de résultats tels que Create, Alter, etc.; 6. Il est recommandé d'utiliser Whereraw, Selectraw et d'autres méthodes dans QueryBuilder pour combiner les expressions natives pour améliorer la sécurité

Utilisez JUnit5 et Mockito pour isoler efficacement les dépendances pour les tests unitaires. 1. Créez un objet simulé via @Mock, @InjectMocks Inject L'instance testée, @ExtendWith Activer la Mockito Extension; 2. Utiliser quand (). ThereraTurn () pour définir le comportement de simulation, vérifiez () pour vérifier le nombre d'appels et de paramètres de méthode; 3. Peut simuler les scénarios d'exception et vérifier la gestion des erreurs; 4. Recommander l'injection du constructeur, éviter une sur-simulation et maintenir l'atomicité des tests; 5. Utiliser Asssertall () pour fusionner les affirmations, et @nest organise les scénarios de test pour améliorer la maintenabilité et la fiabilité des tests.

Les génériques GO sont pris en charge depuis 1.18 et sont utilisés pour écrire du code générique pour le type de type. 1. La fonction générique imprimslice [tany] (s [] t) peut imprimer des tranches de tout type, telles que [] int ou [] cha?ne. 2. Grace au nombre de contraintes de type, les limites des types numériques tels que int et float, sum [tnumber] (tranche [] t) t La sommation s?re est réalisée. 3. La bo?te de type générique de structure [tany] struct {Valuet} peut encapsuler n'importe quelle valeur de type et être utilisée avec le constructeur newbox [tany] (VT) * Box [t]. 4. Ajouter SET (VT) et Get () T Méthodes T à boxer [t] sans

Table-Layout: Fixe obligera la largeur de la colonne de table à déterminer par la largeur de la cellule de la première ligne pour éviter le contenu affectant la disposition. 1. Définissez la table de table: fixe et spécifiez la largeur du tableau; 2. Définissez le rapport de largeur de colonne spécifique pour la première ligne th / td; 3. Utilisez White-Space: Nowrap, débordement: Hidden et Text-Overflow: EllipSis pour contr?ler le débordement du texte; 4. Applicable à la gestion des antécédents, aux rapports de données et à d'autres scénarios qui nécessitent une disposition stable et un rendu haute performance, qui peuvent effectivement empêcher la gigue de mise en page et améliorer l'efficacité du rendu.

JSON.loads () est utilisé pour analyser les cha?nes JSON dans les structures de données Python. 1. L'entrée doit être une cha?ne enveloppée de devis doubles et la valeur booléenne est vraie / fausse; 2. Prend en charge la conversion automatique de Null → Aucun, objet → Dict, Array → List, etc.; 3. Il est souvent utilisé pour traiter les cha?nes JSON renvoyées par l'API. Par exemple, Response_String peut être directement accessible après l'analyse par JSON.loads (). Lorsque vous l'utilisez, vous devez vous assurer que le format JSON est correct, sinon une exception sera lancée.

ChooseTheAPPROPROPPROPTROPEDEXTYPEBASTASEDUSECASE, telassinglefield, Compound, Multikey, Text, Geospatial, OrttLindexes.2.ApplyTheesrrulewHencreatingCompoundIndexesByOrderFieldsaseQuality, Sorture, Therange.3

Maven est un outil standard pour la gestion et la construction de projet Java. La réponse réside dans le fait qu'il utilise pom.xml pour normaliser la structure du projet, la gestion des dépendances, l'automatisation du cycle de vie de la construction et les extensions de plug-in; 1. Utilisez pom.xml pour définir GroupID, Arfactive, version et dépendances; 2. Commandes Master Core telles que MvnClean, compiler, tester, package, installer et déploier; 3. Utiliser la fonction de dépendance et les exclusions pour gérer les versions et les conflits de dépendance; 4. Organisez de grandes applications via la structure du projet multi-modules et sont gérées uniformément par le POM parent; 5

Dans Python, le transfert d'argument de la fonction est "passer la référence d'objet", c'est-à-dire 1. Pour les objets mutables (tels que les listes et les dictionnaires), les modifications in situ (telles que l'APPEND, la tranche d'affectation) dans la fonction affecteront directement l'objet d'origine; 2. Pour les objets immuables (tels que les entiers, les cha?nes), l'objet d'origine ne peut pas être modifié dans la fonction et la réaffectation ne créera qu'un nouvel objet; 3. Les paramètres transmettent une copie de la référence. Si la variable est rebelle dans la fonction (comme LST = [...]), la connexion avec l'objet d'origine ne sera pas affectée et la variable externe ne sera pas affectée. Par conséquent, la modification des objets mutables affecte les données d'origine, tandis que les objets immuables et la réaffectation ne le font pas, ce qui explique pourquoi la liste est visible à l'extérieur après modification dans la fonction, tandis que les changements entiers ne sont que localement.
