Maison  >  Article  >  Java  >  Servlet en Java

Servlet en Java

WBOY
WBOYoriginal
2024-08-30 16:23:24962parcourir

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és

Commencez 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 en Java

  • 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.

Servlet en Java

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.

Servlet en Java

4. Ensuite, cliquez sur Fichier-> Créez un nouveau servlet.

Servlet en Java

Servlet en Java

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

Servlet en Java

Servlet en Java

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Métadonnées en JavaArticle suivant:Métadonnées en Java