JSP - Guide rapide pour les débutants

30 octobre 2021

Table des matières

Qu'est-ce que JavaServer Pages ?

le Pages Java Server (JSP) , une technologie côté serveur, aide les développeurs à développer des pages Web qui utilisent HTML , XML , SAVON , etc. Il est également appelé Pages du serveur de Jakarta . Dans JSP, les développeurs peuvent intégrer le code Java dans le HTML Langue. Il existe des balises uniques dans la JSP, ce qui permet l'utilisation de Java code en HTML. Ces balises commencent et se terminent par '<%’ et '%>' symboles, respectivement. Pour exécuter des JSP, vous avez besoin d'un serveur Web contenant le conteneur de servlet. Par exemple, vous pouvez utiliser Apache Tomcat ou Jetée .

JSP est modélisé à partir du servlets Java . servlet Java est aussi appelé Jakarta Servlet. Pendant l'exécution, les JSP sont transformées en servlets ; par conséquent, ils sont appelés servlets. Généralement, les JSP sont écrites dans des fichiers texte et intègrent du code HTML ou XHTML, des actions JSP, des éléments XML et des commandes JSP. Les JSP jouent le rôle d'interfaces utilisateur dans les applications Web Java. Tous les objets implicites JSP, tels que request, session, config, out, response, application, page et pageContext, sont créés par le conteneur web .

Vous avez peut-être rencontré des formulaires de page Web. Ces formulaires ont pour but de collecter les données des différents utilisateurs. Dans ces formulaires de page Web, JSP est utilisé pour prendre les données des utilisateurs en entrée, organiser ces données sous la forme d'une base de données et générer des pages Web. L'objectif principal de JSP est de présenter les types de documents XML et HTML. Mais, il peut aussi présenter des documents dans d'autres formats, car il utilise OutputStream . L'extension de fichier pour JSP est .jsp, .jspx, .jspf et le type de média Internet est application/jsp.

Vous pouvez convertir n'importe quel fichier HTML dans le fichier JSP en modifiant l'extension de fichier .html à .jsp . Après avoir changé l'extension, utilisez les balises JSP pour ajouter du code Java dans les pages HTML. En utilisant JPS, les développeurs peuvent générer un site Web dynamique pages et pages Web indépendantes de la plate-forme. Voyons quelques fonctionnalités importantes de JSP.

Découvrez notre Guide de l'interface homme-machine ce qui conviendra aux débutants.

Fonctionnalités JSP

JSP est l'un des moyens pratiques de créer du contenu Web dynamique. Il existe plusieurs raisons pour lesquelles les développeurs choisissent JSP pour créer plusieurs applications. Voici quelques fonctionnalités triées sur le volet des pages du serveur Jakarta.

  • Il existe des balises d'action et personnalisées dans JSP. Par conséquent, la longueur du code de JSP est petite.
  • Il est simple d'écrire du code dans JSP, car il intègre le langage de programmation Java dans les pages HTML ou XML.
  • JSP permet aux développeurs de collecter les données et de les mettre dans la base de données ou de lire ou d'écrire les données dans la base de données.
  • Cette technologie côté serveur est très flexible, portable et robuste car elle ne dépend d'aucun navigateur ou serveur.
  • Il n'est pas nécessaire que le code JSP compile encore et encore. Il est indépendant de la plate-forme et peut être exécuté sur n'importe quelle console sans recompilation.
  • JSP intègre des objets implicites, des servlets et des balises personnalisées. Par conséquent, les développeurs génèrent des pages Web interactives et en temps réel.
  • Nous pouvons également intégrer d'autres langages de script dans les programmes JSP, comme JavaScript, Perl, VBScript, etc. Par défaut, Java est le langage de script de JSP.

Pourquoi utiliser Java Server Pages ?

L'utilisation des JSP présente plusieurs avantages. Ils agissent de manière similaire à celle de la Interface de passerelle commune (CGI) . Les serveurs Web exécutent tous les programmes qui génèrent des pages Web dynamiques sur l'interface de passerelle commune. Lorsque nous comparons JSP avec CGI, JSP est plus robuste et offre plus d'avantages aux développeurs. Voici quelques raisons qui permettront de comprendre en quoi JSP est plus avantageux que CGI.

  • Les développeurs peuvent ajouter des éléments dynamiques en HTML à l'aide de JSP. S'ils utilisent CGI, ils doivent créer un fichier CGI distinct pour Dynamic Elements.
  • Les JSP sont compilées et exécutées ultérieurement sur n'importe quelle plate-forme. D'autre part, CGI charge l'interpréteur et interprète le code chaque fois que vous demandez la page Web.
  • Vous pouvez utiliser JSP et des servlets ensemble pour surveiller la logique métier. Les moteurs de modèles de servlet Java prennent en charge ce modèle combiné de JSP et de servlet.
  • JSP est une abstraction de haut niveau des servlets Java. Ces pages sont créées au niveau supérieur de l'interface de servlet Java. Par conséquent, ils peuvent accéder à toutes les interfaces Java principales, telles que JAXP, JDBC, JNDI, etc.
  • Dans l'architecture MVC, JSP est utilisé comme couche d'affichage.
  • Toutes les applications de niveau entreprise sont exécutées sur la plate-forme, appelée Java EE. La plate-forme Java EE intègre JSP.

Avantages de JSP

JSP est plus efficace et robuste que d'autres technologies, comme JavaScript, Static HTML, Pure Servlets, etc. Nous verrons ici comment JSP est avantageux par rapport aux autres technologies.

  • L'un des avantages les plus souhaitables de JSP est qu'il utilise le langage de programmation Java pour écrire sa partie dynamique. Il n'utilise pas Visual Basic pour écrire le code. Deuxièmement, il est compatible avec d'autres en fonctionnement systèmes.
  • En utilisant les JSP, nous intégrons le code Java dans les pages HTML. Par conséquent, il est facile de modifier HTML.
  • Il récupère les données des formulaires Web et les connecte à la base de données.
  • Dans l'application Web, JSP sépare la couche de logique métier de la couche de présentation.
  • JSP utilise le langage de programmation Java. Par conséquent, il prend également en charge le concept multithreading de Java.

Avant de passer au didacticiel JSP, nous vous guiderons dans la configuration de l'environnement JSP. De plus, vous avez besoin de connaissances détaillées sur la programmation Java. Dites-nous maintenant comment configurer l'environnement JSP sur votre bureau.

Comment mettre en place un environnement JSP ?

Pourquoi avez-vous besoin de configurer l'environnement JSP ? Est-il nécessaire de corriger l'environnement JSP sur le bureau ? Si vous souhaitez créer du contenu Web dynamique ou des applications Web à l'aide de JSP, vous devez configurer l'environnement JSP. Cet environnement permet aux développeurs d'écrire les programmes JSP, de les compiler, de les exécuter sur n'importe quelle plate-forme. Nous expliquerons la configuration de l'environnement JSP dans les étapes ci-dessous :

Configuration du kit de développement Java

La première étape consiste à fixer le Kit de développement Java (JDK) sur votre bureau. Le kit de développement Java est nécessaire car nous intégrons le code Java dans le code HTML à l'aide de JSP. Par conséquent, l'environnement JSP nécessite d'abord de corriger l'environnement JDK.

Tout d'abord, vous devez télécharger le kit de développement logiciel Java (SDK) à partir du site officiel d'Oracle. site Internet

Après le téléchargement, ouvrez le fichier .exe et installez-le et configurez-le en suivant les directives données. Plus tard, vous devez définir deux variables d'environnement, CHEMIN et JAVA_HOME . Vous devez régler le CHEMIN variable à l'emplacement du bureau de Java , c'est à dire., rép_install_java/bin, et le JAVA_HOME variable à l'endroit où il y a javac , c'est à dire., rép_install_java .

Si vous avez le système Windows et avez installé le fichier SDK à la C:jdk1.5.0_20 emplacement, ajoutez ce chemin au C:autoexec.bat déposer.

|__+_|

Si vous avez installé le fichier SDK sur le système Windows NT, 2000 ou XP, il existe une autre manière de configurer CHEMIN et JAVA_HOME Variables d'environnement. Vous devez faire un clic droit sur Mon ordinateur , sélectionnez Propriétés , ok Avancée , et allez à Variables d'environnement . Ici, vous devez définir le CHEMIN à l'emplacement de la Java , c'est à dire., Cjdk1.5.0_20in . Après avoir changé le PATH, cliquez sur le d'accord bouton.

Nous allons maintenant savoir comment définir les variables d'environnement PATH et JAVA_HOEM pour les systèmes UNIX, comme Solaris, Linux , etc. Supposons que nous ayons installé le fichier SDK dans /usr/local/jdk1.5.0_20 . Vous devez ajouter les deux commandes ci-dessous dans le .cshrc déposer. Considérez que nous utilisons le shell C.

|__+_|

Si vous utilisez des outils d'environnement de développement intégré (IDE), comme Eclipse, Sun ONE Studio, JBuilder, etc., prenez un exemple de programme Java, compilez-le et exécutez-le pour vérifier que votre outil IDE sait où Java est installé sur votre système.

Après avoir installé le kit de développement Java et défini les variables d'environnement PATH et JAVA_HOME, l'étape suivante consiste à configurer le serveur Web.

Configuration du serveur Web Tomcat

Il existe aujourd'hui plusieurs serveurs Web qui prennent en charge le développement d'applications Web dynamiques via JSP ou Servlets. Nous utiliserons le serveur Web Tomcat, qui est open-source et gratuit. Tomcat est un nom court pour Apache Tomcat. Son utilisation est gratuite pour tous et compatible avec plusieurs technologies de serveur, telles que JavaServer Pages, Servlets, WebSocket et Java Expression Language. Le code Java de Tomcat est exécuté sur le Java pur Serveur Web HTTP.

Il existe plusieurs composants dans Apache Tomcat. Faites-nous savoir chaque composant et son utilisation.

  • Le conteneur de servlet pour Tomcat est Catherine , qui utilise les spécifications de Sun Microsystem pour JSP et les servlets. Le nom d'utilisateur, le mot de passe et les rôles des utilisateurs sont présents dans l'élément Realm.
  • Le composant de connecteur pour Tomcat est Coyote , qui est compatible avec le protocole HTTP 1.1.
  • Le moteur JSP de Tomcat est Jaspe . Ce moteur analyse le fichier texte JSP et le compile dans le code Java.
  • Un autre composant de Tomcat est Groupe , qui gère de grandes applications Web.

Voici les étapes pour télécharger le serveur Web Apache Tomcat.

  • Tout d'abord, vous devez télécharger Apache Tomcat depuis son site officiel site Internet

Vous devez télécharger la dernière version d'Apache Tomcat.

  • Après avoir téléchargé le logiciel, placez le téléchargé à un emplacement spécifique. Par exemple, si vous avez installé Tomcat sur le système Windows, localisez le fichier téléchargé dans C:apache-tomcat-5.5.29 . Pour les systèmes Linux ou Unix, placez le fichier dans /usr/local/apache-tomcat-5.5.29 .
  • Après avoir localisé le fichier, créez le CATALINA_HOME variables d'environnement. Définissez cette variable sur l'emplacement du fichier tomcat, comme mentionné ci-dessus, c'est-à-dire, pour les systèmes Windows, définissez la variable sur C:apache-tomcat-5.5.29 , et pour les systèmes Linux, définissez la variable sur /usr/local/apache-tomcat-5.5.29 .

La configuration d'Apache Tomcat est terminée avec succès. Si vous avez installé Tomcat sur le système Windows, suivez l'une des deux commandes pour démarrer l'application Tomcat.

|__+_|

ou

|__+_|

Si votre application Tomcat est installée sur le système Linux, vous pouvez taper l'une des commandes ci-dessous pour démarrer l'application Tomcat.

|__+_|

Ou

|__+_|

Une fois que vous avez réussi à ouvrir l'application Tomcat, visitez http://localhost:8080/ . Vous remarquerez toutes les applications par défaut présentes dans Tomcat. Vous pouvez effectuer la configuration et exécuter l'application Tomcat à l'aide de la documentation disponible sur le site officiel de Tomcat.

Nous allons maintenant voir les commandes permettant de fermer l'application Tomcat sur les systèmes Windows et Linux. Il existe deux commandes pour fermer l'application Tomcat sur les systèmes Windows. Ils sont les suivants :

|__+_|

Ou

|__+_|

Pour les systèmes Linus, vous pouvez suivre l'une des deux commandes pour fermer l'application Tomcat.

|__+_|

Ou

|__+_|

Configuration de CLASSPATH

Nous verrons comment configurer le CLASSPATH pour les systèmes Windows et Linux. Si vous avez installé Tomcat sur le système Windows, suivez les lignes de code ci-dessous pour configurer le CLASSPATH.

|__+_|

Si votre système Windows a des versions NT, 2000 ou XP, vous devez cliquer avec le bouton droit sur Mon ordinateur , sélectionnez Propriétés , cliquer sur Avancée , et allez à Variables d'environnement . Ici, vous devez changer la valeur CLASSPATH et cliquer sur le d'accord bouton.

Si vous avez installé Tomcat sur le système Linux, ajoutez les deux lignes suivantes dans le fichier .cshrc. Considérez que nous utilisons le shell C.

|__+_|

Quelle est l'architecture du JSP ?

Nous avons configuré l'environnement pour JSP. Nous avons utilisé Apache Tomcat pour exécuter des pages JSP. Pour traiter les pages JSP, il existe un moteur JSP appelé conteneur. Dans Apache Tomcat, il existe un moteur JSP intégré appelé Jaspe . Par conséquent, en utilisant Jasper, les développeurs peuvent créer des pages JSP. Le conteneur et le serveur Web fonctionnent ensemble pour fournir l'environnement d'exécution ou JSP et tous les autres services requis par JSP.

JSP

Le diagramme ci-dessus illustre le conteneur JSP et la position des fichiers JSP et dans n'importe quelle application Web. Nous allons maintenant expliquer le processus de génération d'une page Web dynamique par le serveur Web à l'aide de JSP.

  • Tout d'abord, le client ou le navigateur du système Windows, Linux ou macOS envoie la requête HTTP au serveur Web via Internet, comme indiqué dans le schéma ci-dessus.
  • Le serveur Web contient le moteur JSP, où tous les fichiers JSP sont stockés. Lors de la réception de la requête HTTP du client, le serveur Web identifie que la requête concerne la page JSP. Après cela, il transmet cette requête au moteur JSP. Le serveur Web transmet la requête HTTP à la page JSP à l'aide d'un fichier ayant l'extension .jsp ou .html ou via une URL.
  • Maintenant, la JSP reçoit la requête HTTP qui a été envoyée par le client au serveur Web. Nous savons que la requête HTTP concernait une page JSP. Par conséquent, le moteur charge cette page particulière à partir du disque et la transforme en un contenu de servlet. En d'autres termes, tout le texte du modèle est transformé en instructions println(). D'autre part, cette transformation convertit également toutes les pages JSP en code Java.
  • La page JSP demandée est transformée en servlet. Par conséquent, le servlet est compilé par le moteur JSP dans une classe exécutable. Plus tard, la requête HTTP du client est envoyée au moteur de servlet par le moteur JSP.
  • Les moteurs de servlet et JSP font tous deux partie du serveur Web. Le moteur de servlet exécute la classe exécutable compilée par le moteur JSP et génère la sortie au format HTML. Il existe un autre composant sur le serveur Web, la réponse HTTP. Le moteur de servlet envoie la sortie HTML à la réponse HTTP.
  • Enfin, le serveur Web envoie la réponse HTTP au navigateur via Internet sous la forme d'un contenu HTML statique.

Par conséquent, vous pouvez écrire le servlet à l'aide de la page JSP avec très peu de compétences en programmation Java. À partir du traitement ci-dessus de JSP, nous pouvons conclure qu'il fonctionne de la même manière que celui de la servlet, à l'exception de la phase de traduction. Il suit l'architecture à 3 niveaux, le serveur Web prenant en charge la page JSP. Passons maintenant au cycle de vie des JSP. Ici, nous verrons comment le fichier JSP passe par les différentes phases et comment il est présent dans le conteneur Web.

Cycle de vie du JSP

Le cycle de vie de tout composant commence lors de sa création et se termine lorsqu'il est détruit. Le cycle de vie des JSP est similaire au cycle de vie des servlets. Une phase supplémentaire dans le cycle de vie JSP est utilisée pour convertir et compiler la page JSP en servlet. Le cycle de vie JSP peut être défini comme la création de la page JSP, sa transformation en servlet, le cycle de vie du servlet et la destruction de la page JSP. Voyons maintenant le cycle de vie de JSP en détail ci-dessous.

Le cycle de vie du JSP implique quatre chemins principaux comme suit :

  1. Compilation
  2. Initialisation
  3. Exécution
  4. Nettoyer

Ces quatre chemins de cycle de vie JSP sont similaires aux chemins de cycle de vie des servlets. Le schéma ci-dessous illustre les phases ci-dessus.

JSP

Voyons maintenant chaque phase du cycle de vie JSP et sa description en détail.

    Compilation JSP

Lorsque le client ou le navigateur envoie la requête HTTP pour la page JSP, le moteur JSP présent dans le serveur Web vérifie si la page de requête doit être compilée ou non. Le moteur JSP compile la page demandée si elle n'a pas été compilée précédemment ou si elle n'a pas été compilée après modification de la page. La compilation de la page comprend trois étapes comme suit :

  • La page demandée est analysée par le moteur JSP.
  • Il transforme ensuite la page JSP en servlet.
  • Enfin, la servlet est compilée.

Lorsque la page JSP est transformée en servlet, le .jsp fichier est converti en un .Java déposer. Au moment de la compilation, le .Java fichier est ensuite converti en un .classer déposer.

    Initialisation JSP

Une fois la compilation terminée, le processus de chargement de classe a lieu. La source JSP charge la classe de servlet, et cette classe de servlet est ensuite chargée dans le conteneur. L'instance de la classe servlet est créée dans le conteneur. Après la création de l'instance de la classe servlet, le jspInit () méthode est invoquée. Cette méthode n'est invoquée qu'une seule fois dans le cycle de vie de la JSP. Pour l'initialisation spécifique à JSP, vous devez remplacer le jspInit () méthode comme suit :

|__+_|

Quand le jspInit () est instanciée, vous devez créer la connexion à la base de données et générer les tables de recherche dans le fichier.

    Exécution JSP

Après le jspInit () méthode est instanciée, la _jspService() méthode est utilisée. Cette méthode sert toutes les requêtes envoyées par le client au serveur Web jusqu'à ce que la JSP soit détruite.

le _jspService() méthode implique deux paramètres différents, HttpServletRequest et HttpServletResponse . Cette méthode est définie comme suit :

|__+_|

le _jspService() La méthode répond à toutes les requêtes du client. Chaque fois que le client émet la demande, le _jspService() méthode est invoquée. Il répond également aux sept requêtes HTTP, comme AVOIR , EFFACER , PUBLIER , METTRE , etc. Vous pouvez remplacer _jspService() méthode.

    Nettoyage JSP :

La dernière étape du cycle de vie JSP est le nettoyage, où le JSP est détruit. Le conteneur supprime JSP et ne l'utilise pas. Cette méthode est la même que celle de la méthode destroy d'une servlet. Lorsque vous avez besoin de fermer des fichiers dans la base de données ou de fermer la connexion à la base de données, vous pouvez remplacer le jspDestroy() méthode. La syntaxe de la méthode jspDestroy() est la suivante :

|__+_|

Syntaxe dans JSP

Dans ce segment, nous apprendrons la syntaxe de plusieurs éléments JSP, comme les actions, les directives, les objets implicites, les commentaires, les expressions, etc. Cette section du didacticiel est très importante pour le novice dans le domaine JSP. Voici un guide rapide sur la syntaxe JSP.

    Scriptlet :

Le Scriptlet est l'un des éléments JSP robustes. Nous pouvons stocker des instructions, des méthodes, des variables et des expressions Java dans le scriptlet. De plus, il peut également stocker des éléments de n'importe quel langage de script. Ci-dessous se trouve l'élément Scriptlet Syntaxe:

Syntaxe:

|__+_|

La syntaxe de Scriptlet ci-dessus peut être écrite sous la forme d'un équivalent XML au format suivant :

|__+_|

Toutes les balises HTML, les éléments JSP et tout autre texte sont toujours écrits en dehors des balises Scriptlet. Nous verrons un exemple simple de JSP dans la page HTML.

Exemple:

|__+_|

Le serveur Tomcat doit être installé sur votre bureau et son environnement doit être configuré pour exécuter ce programme. Suivez les étapes de configuration de l'environnement ci-dessus pour configurer l'environnement du serveur Tomcat. Nous enregistrerons le fichier ci-dessus sous premierjsp.jsp dans le C:apache-tomcat7.0.2webappsROOT dossier. Après avoir enregistré le fichier, allez dans le navigateur et tapez l'URL, http://localhost:8080/firstjsp.jsp. Le code ci-dessus affichera le guide rapide JSP et l'adresse IP de votre système.

    Déclarations

Lorsque vous avez besoin de variables ou de méthodes à utiliser dans le code Java, les déclarations JSP les déclarent. Avant d'utiliser une variable ou une méthode dans le code Java, vous devez la déclarer à l'aide de la déclaration JSP. La syntaxe des déclarations JSP est la suivante :

Syntaxe:

|__+_|

La syntaxe ci-dessus est écrite en XML comme suit :

|__+_|

Voyons maintenant un exemple des déclarations JSP.

Exemple:

|__+_|
    Expression

Une expression dans JSP contient des expressions de langage de script. Ces expressions peuvent être évaluées, transformées en chaîne et ajoutées au fichier JSP, où l'expression apparaît. Vous pouvez utiliser des expressions JSP avec le texte, car il peut être transformé en String. Il n'est pas obligatoire de baliser les expressions JSP dans les balises HTML. Une chose importante à retenir lors de l'écriture de l'expression JSP est qu'ils n'utilisent pas le point-virgule pour terminer l'expression.

Syntaxe:

|__+_|

La syntaxe ci-dessus peut être écrite dans son équivalent XML comme suit :

|__+_|

L'exemple suivant vous aidera à comprendre comment utiliser l'expression JSP en HTML.

|__+_|

Vous obtiendrez la sortie sous la forme de la date et de l'heure actuelles comme suit :

|__+_|
    commentaires

Les commentaires sont des instructions qui ne sont pas destinées à l'exécution. Ils sont destinés uniquement aux programmeurs et aux lecteurs. Dans JSP, les commentaires sont ignorés par le conteneur. Si vous souhaitez masquer une partie du programme JSP, vous pouvez commenter cette partie à l'aide des commentaires JSP. Voici la syntaxe des commentaires JSP.

Syntaxe:

|__+_|

Nous allons exécuter l'exemple ci-dessous qui contient le commentaire JSP.

Exemple:

|__+_|

Le résultat de ce code est donné ci-dessous.

|__+_|

Il existe de nombreuses autres façons dans JSP de spécifier des commentaires. Vous trouverez ci-dessous six syntaxes de commentaires différentes et leurs utilisations :

Ce qui précède est appelé commentaire HTML et le navigateur ignore les caractères ou les mots écrits à l'intérieur du commentaire.

    %>

implique un littéral statique.

    <\%

Le commentaire ci-dessus fait également référence à un littéral statique.

Il spécifie un guillemet double utilisé dans un attribut.

    '

Il spécifie un guillemet simple utilisé dans un attribut.

    Directives

Il y a trois directives dans JSP, , , et . le La directive est utilisée pour définir les attributs de la page, comme la page d'erreur, le langage de script et les exigences de mise en mémoire tampon. L'autre directive, , inclut un fichier spécifique utilisé pendant la phase de traduction du cycle de vie JSP. Enfin, le est utilisée pour déclarer la bibliothèque d'onglets et les actions personnalisées requises dans la page JSP. Lorsque des directives JSP sont utilisées, elles affectent la structure de la classe servlet. Voici la syntaxe de la directive JSP.

|__+_|
    Actions

Les actions sont des fonctions déjà définies. Les actions JSP sont utilisées pour contrôler le comportement du moteur de servlet. Ces actions ajoutent la construction dans le code XML. À l'aide des actions JSP, vous pouvez insérer n'importe quel fichier de manière dynamique, créer le HTML pour le plug-in Java ou réutiliser les composants JavaBeans. Vous trouverez ci-dessous la syntaxe des actions JSP.

Syntaxe:

|__+_|

Nous énumérons ci-dessous quelques actions JSP importantes et leur description :

    jsp:useBean: Cette action instancie ou identifie un JavaBean.jsp:getProperty: Vous pouvez utiliser l'action jsp:getProperty pour ajouter la propriété JavaBean dans la sortie.jsp:setProperty: Cette action corrige la propriété JavaBean.jsp : inclure: Lorsque l'utilisateur demande la page, cette action ajoute le fichier.jsp : plug-in: Il crée une balise OBJECT ou EMBED et un code spécifique au navigateur pour le plugin Java.jsp:attribut: Cette action est utilisée pour définir l'attribut de l'élément XML qui est défini dynamiquement.jsp : avant: Cette action amène l'utilisateur à la nouvelle page.jsp:élément: lorsque vous avez besoin de définir dynamiquement des éléments XML, utilisez cette action.jsp:texte: cette action permet aux utilisateurs d'ajouter le texte du modèle à la page JSP.jsp:corps: Il est utilisé pour définir le corps de l'élément XML, qui est défini dynamiquement.
    Objets implicites

Il existe neuf objets implicites dans JSP, requête, réponse, session, sortie, pageContext, configuration, application, page et exception. Faites-nous connaître chaque objet implicite en détail ici.

    demande: L'objet de la requête est HttpServletRequest, associé à la requête du client.réponse: L'objet de réponse est HttpServletResponse, associé à la réponse du serveur au client.session: Cet objet implique HttpSession et est associé à l'objet de requête du client.en dehors: Un autre objet implicite est sorti. Il est utilisé pour envoyer la sortie au client à l'aide de l'objet PrintWriter.pageContext: Cet objet implicite spécifie l'application des fonctionnalités spécifiques au serveur. Un exemple de fonctionnalité spécifique au serveur est JspWriters.configuration: Cet objet implique l'objet ServletConfig, qui est utilisé avec la page JSP.application: L'objet ServletContext de JSP est utilisé avec le contexte d'application.page: L'objet implicite de la page appelle toutes les méthodes définies par la classe servlet.Exception: La JSP désignée peut accéder aux données d'exception à l'aide de l'objet Exception.
    Instructions de flux de contrôle

JSP utilise également des instructions de flux de contrôle, des instructions de prise de décision et des boucles. Nous verrons ici comment l'instruction de prise de décision et les boucles sont utilisées dans la programmation JSP.

Énoncés de prise de décision

Les déclarations de prise de décision sont utilisées pour décider des choix disponibles. Il existe deux façons de mettre en œuvre une déclaration décisionnelle. L'un utilise l'instruction if_else et l'autre utilise l'instruction switch-case. Chaque condition if et else est incluse dans des scriptlets séparés. Observons un exemple d'instruction if_else dans JSP.

Exemple:

|__+_|

Ici, nous avons déclaré 'mois = 3' et spécifié les conditions dans les instructions if_else. La sortie sera donc :

|__+_|

Maintenant, nous allons implémenter les instructions switch…case. Le code ci-dessous est assez différent du code ci-dessus, car les conditions dans le code ci-dessous sont spécifiées dans un Scriptlet.

Exemple:

|__+_|

Sortir:

|__+_|

Instructions de boucle

Nous utilisons la boucle dans le programme pour répéter une instruction particulière un certain nombre de fois. Il existe trois types de boucles différents pris en charge par JSP, for, while et do…while. Voyons ci-dessous des exemples de chaque type de boucle.

Pour la boucle :

|__+_|

Sortir:

|__+_|

Boucle While :

|__+_|

Sortir:

|__+_|
    Opérateurs dans JSP

Tous les opérateurs logiques et arithmétiques pris en charge par Java sont utilisés dans JSP. Les opérateurs sont utilisés dans les expressions JSP pour les évaluer. L'opérateur ayant la priorité la plus élevée est évalué en premier, et avec la priorité la plus faible est évalué en dernier. Nous avons répertorié tous les opérateurs JSP avec la priorité la plus élevée en premier, la deuxième priorité la plus élevée ensuite, et ainsi de suite.

    Suffixe: Il y a trois opérateurs suffixés ‘()’. '[]', et '.'. Tous ces opérateurs ont une associativité de gauche à droite.Unaire: Les opérateurs unaires sont '++', '-', '!' et '~' ayant l'associativité de droite à gauche.Multiplicatif: Il existe trois opérateurs multiplicatifs, '*', '/' et '%'. Ils ont une associativité de gauche à droite.Additif: Les opérateurs additifs sont ‘+’ et ‘-’. Ils ont également une associativité de gauche à droite.Changement: Opérateurs de décalage, '>>', '>>>' et '<<’ have left to right associativity. Relationnel: Il existe quatre opérateurs relationnels, '>', '=' et '<=’. All of them have left to right associativity. Égalité: Les opérateurs d'égalité sont '==' et '!=' ayant une associativité de gauche à droite.ET au niveau du bit: L'opérateur ET au niveau du bit (&) a une associativité de gauche à droite.XOR au niveau du bit: L'opérateur XOR au niveau du bit (^) a une associativité de gauche à droite.OU au niveau du bit: L'opérateur OU au niveau du bit (|) a une associativité de gauche à droite.ET logique: L'opérateur logique ET (&&) a une associativité de gauche à droite.OU logique: L'opérateur logique OU (||) a une associativité de gauche à droite.Conditionnel: L'opérateur conditionnel (?:) a l'associativité de droite à gauche.Mission: Il existe plusieurs opérateurs d'affectation, comme =, +=, -+, *=, %=, /=, >>=,<<=, &=, ^=, and |=. All these operators have the right to left associativity. Paragraphe: L'opérateur virgule (') a une associativité de gauche à droite.

JSP prend en charge cinq littéraux ou types de données différents : booléen, entier, virgule flottante, chaîne et NULL. Le littéral booléen renvoie true ou false en conséquence. Un entier est utilisé pour spécifier le nombre et la virgule flottante est utilisée pour déclarer les nombres décimaux dans le programme JSP. Le type de données String dans JSP est différent de celui du langage Java. Le type de données NULL spécifie la valeur nulle.

Actions JSP

Nous avons vu quelles sont les actions JSP. Nous avons également vu toutes les actions JSP dans le résumé ci-dessus. Les actions ne sont rien d'autre que des fonctions qui régulent le comportement du moteur JSP. Rappelons la syntaxe de l'action JSP.

Syntaxe:

|__+_|

Les actions JSP sont jsp:include, jsp:useBean, jsp:setProperty, jsp:getProperty, jsp:forward, jsp:element, jsp:plugin, jsp:attribute, jsp:body et jsp:text. Toutes ces actions JSP ont deux composants communs, ID et Scope.

Le composant ID est utilisé pour identifier de manière unique toute action JSP. Ce composant de l'action JSP est utilisé dans le programme JSP, définissant l'action à effectuer. Un autre élément est la portée, qui est utilisée pour identifier le cycle de vie de l'action JSP. À l'aide de l'ID de l'action, sa durée de vie est déterminée. Par conséquent, l'élément ID et l'élément Scope sont directement proportionnels. Le composant Scope peut prendre les valeurs possibles : page, session, request ou applications.

L'action

L'action useBean dans JSP trouve d'abord un objet possédant les attributs ID et Scope. Si l'objet est introuvable, cette action crée l'objet pour ces attributs ID et Portée spécifiques. Voici comment charger la classe useBean.

|__+_|

Après avoir chargé la classe Bean, vous pouvez utiliser les deux autres actions JSP, jsp:setProperty et jsp:getProperty . Ces actions sont utilisées pour modifier et récupérer les propriétés du bean. L'action useBean utilise trois les attributs , classer , taper , et beanName. le classer L'attribut attribue le nom de package du bean. Vous pouvez utiliser le taper élément pour spécifier le type de variable pour l'objet auquel nous nous référons. Enfin, le beanName fournit le nom du bean. La méthode instantiate() spécifie le nom du bean.

L'action

L'action est utilisée pour définir la propriété du Bean. La seule exigence pour définir la propriété du bean est que le bean doit d'abord être défini. Il existe deux façons d'utiliser l'action comme suit :

La première consiste à utiliser l'extérieur et après le composant.

|__+_|

Dans la syntaxe ci-dessus, même si le nouvel élément n'est pas instancié ou si un élément existant n'est pas trouvé, l'action est exécutée.

Une autre façon de définir l'action est à l'intérieur du composant jsp:useBean.

|__+_|

Contrairement à la première façon d'utiliser le , la seconde ne s'exécute que si un existant est trouvé ou si le nouveau est instancié.

Le jsp:setProperty implique quatre attributs différents, Nom , propriété , valeur , et arrêter . le Nom L'attribut attribue le nom au bean dont la propriété doit être définie. Un autre attribut, propriété , définit la propriété. le valeur est la valeur attribuée à la propriété, et la arrêter L'attribut définit le nom du paramètre reçu par la propriété.

L'action

Nous avons vu que l'action jsp:setProperty définit la valeur de la propriété. Ici, l'action récupère la valeur de la propriété. Après avoir récupéré la valeur, il la transforme en String et l'ajoute au résultat.

L'action n'a que deux attributs, nom et propriété. le Nom L'attribut définit le nom du bean contenant une propriété particulière, et l'attribut propriété L'attribut définit le nom de la propriété du Bean. Ci-dessous la syntaxe de l'action :

|__+_|

Observons un exemple qui contient le Exemple haricot. Enregistrez le fichier ci-dessous sous ExempleBean.java .

|__+_|

Après avoir écrit ce code dans le ExempleBean.java fichier, compilez-le pour générer le ExampleBean.class déposer. Maintenant, copiez le ExampleBean.class dossier à la C:apache-tomcat-7.0.2webappsWEB-INFclassesaction dossier. Assurez-vous d'avoir également défini le CLASSPATH variable.

Vous devez maintenant créer le fichier main.jsp et y écrire le code ci-dessous.

|__+_|

Sortir:

|__+_|

L'action

Lorsque vous souhaitez insérer des éléments Java dans le programme JSP, l'action est utilisée. Cette action identifie également le type de navigateur et ajoute ou balises dans le programme JSP. Supposons que vous ayez besoin du composant Java, dont le plug-in n'est pas disponible. L'action télécharge le plug-in requis pour exécuter le composant Java, comme Applet ou Bean. Il existe plusieurs attributs dans l'action du plug-in, qui correspondent aux balises HTML.

Vous trouverez ci-dessous un exemple simple de l'action.

|__+_|

Dans le code ci-dessus, nous pouvons observer le nouvel élément, . Lorsque le composant échoue, cet élément envoie la chaîne d'erreur à l'utilisateur.

Les actes, comme , , et définit les éléments XML. Tous les éléments XML sont générés au moment de l'exécution et non au moment de la compilation, c'est-à-dire qu'ils sont générés dynamiquement.

L'action

Lorsque vous souhaitez terminer l'action de la page en cours et la transmettre à l'autre ressource, vous pouvez utiliser la action. La syntaxe de cette action est donnée comme suit :

|__+_|

Un seul attribut est associé à l'action, le page . Cette page doit inclure l'URL relative de la ressource, où l'action est transférée. La ressource peut être la page JSP, Java Servlet et la page statique.

Maintenant, nous allons voir un exemple simple de l'action. Nous allons créer deux fichiers, date.jsp et main.jsp . Le fichier date.jsp affichera la date actuelle et le fichier main.jsp contient l'action.

fichier date.jsp

|__+_|

fichier principal.jsp

|__+_|

Vous devez enregistrer les deux fichiers dans le répertoire ROOT. Nous allons maintenant accéder au fichier main.jsp pour le résultat. Il n'affichera pas le contenu du fichier main.jsp ; à la place, il affichera le contenu du fichier date.jsp, car il s'agit d'un fichier transféré.

Sortir:

|__+_|

L'action

En utilisant l'action, nous pouvons écrire des modèles de texte ou des documents dans des pages JSP. Ci-dessous la syntaxe de l'action :

|__+_|

Ici, le modèle ne contient que du texte et des expressions EL. Aucun autre élément ne peut être présent dans le modèle. Dans les fichiers XML, n'utilisez pas l'expression comme ${tout > 0} , car ce signe n'est pas autorisé ou illégal. Au lieu de cela, vous pouvez utiliser ${quelque soit gt 0} .

Directives JSP

Dans la section syntaxe, nous avons vu ce que sont les répertoires dans JSP. Ici, nous allons apprendre en détail les répertoires JSP. Les directives sont essentielles dans JSP, car elles commandent et dirigent le conteneur JSP pour la gestion et la régulation d'éléments de traitement JSP spécifiques. La structure entière de la classe servlet est affectée à cause des directives JSP.

Syntaxe:

|__+_|

Les attributs dans les directives sont de la forme clé-valeur. Il peut y avoir plusieurs attributs dans les directives, et chacun est séparé par une virgule. Dans la syntaxe ci-dessus, nous pouvons observer un espace entre '<%@’ et le nom de la directive, et la valeur et '%>.' Ces espaces sont facultatifs. Il n'y a pas de souci si vous n'ajoutez pas d'espaces entre eux. Nous avons vu plus haut qu'il existe trois balises directives, , , et . Discutons en détail de chacune de ces balises de directive.

La directive sur les pages

La directive Page fournit des instructions à la page actuelle du conteneur. Vous pouvez inclure la directive page n'importe où dans votre programme JSP. Généralement, la directive page est utilisée en haut de la page JSP. La syntaxe de la directive page est :

|__+_|

La syntaxe ci-dessus est écrite en XML comme indiqué ci-dessous :

|__+_|

Il y a 13 attributs associés à la directive de page, comme expliqué ci-dessous.

    autoFlush: cet attribut régule le comportement du tampon de sortie du servlet.erreurPage: errorPage affiche l'URL de l'autre JSP, qui lève des exceptions d'exécution Java non contrôlées.s'étend: Le servlet généré doit étendre la superclasse spécifiée.amortir: L'attribut buffer définit le modèle de mise en mémoire tampon du flux de sortie.type de contenu: Cet attribut définit le schéma de codage des caractères.estPageErreur: Il suggère si la page JSP actuelle est l'URL définie par l'attribut errorPage de l'autre page JSP.Info: Il spécifie une chaîne, accessible par la méthode getServletInfo().Langue: Cet attribut indique le langage de programmation utilisé dans les pages JSP.estELignoré: Il spécifie si l'expression EL dans la page JSP sera ignorée.importer: Cette instruction indique tous les packages et classes requis pour être ajoutés dans la JSP. En Java, l'instruction d'importation Java spécifie toutes les classes et tous les packages à inclure dans le programme Java.isThreadSafe: Cet attribut spécifie le modèle de threading du servlet.session: L'attribut session vérifie si la page JSP participe ou non à la session HTTP.isScriptingEnabled: Cet élément spécifie s'il faut utiliser les éléments de script dans la page JSP.

La directive Inclure

Pendant la phase de traduction, le inclure est utilisée pour inclure le fichier dans la page JSP. Cette directive doit également indiquer au conteneur de combiner tous les fichiers externes avec la page JSP. Comme la directive page n'est incluse qu'en haut de la page JSP, la directive include peut être utilisée n'importe où sur la page.

Syntaxe:

|__+_|

La syntaxe ci-dessus est écrite en XML comme suit :

|__+_|

Ici, le nom du fichier est l'url relative. Si vous ne définissez pas le chemin du fichier, le compilateur suppose que votre fichier est présent à l'emplacement de la JSP.

L'annuaire taglib

Le dernier type de répertoire est taglib . Ce répertoire fournit de nombreuses informations sur la page JSP, telles que l'ensemble de balises personnalisées utilisées, l'emplacement de la bibliothèque et la recherche des balises personnalisées à partir de la page JSP. Ci-dessous la syntaxe du répertoire taglib.

|__+_|

La syntaxe ci-dessus peut être écrite en XML comme suit :

|__+_|

L'attribut, détester , spécifie l'emplacement que le conteneur peut comprendre, et le préfixe L'attribut indique au conteneur la composition des actions personnalisées.

Objets implicites JSP

Les objets implicites JSP sont des objets Java. Le conteneur JSP permet aux développeurs d'utiliser ces objets implicites dans chaque page JSP sans être déclarés explicitement. Ces objets sont aussi appelés variables prédéfinies . Il existe neuf objets implicites différents : request, response, out, session, application, page, pageContext, config et exception.

L'Objet de requête

le javax.servlet.http.HttpServletRequest objet crée une instance appelée demande objet. Lorsqu'un client ou un utilisateur demande une page particulière, le moteur JSP génère un nouvel objet représentant la demande du client. le demande L'objet propose plusieurs méthodes pour extraire les informations de l'en-tête HTTP, telles que les méthodes HTTP, les cookies, etc.

L'objet de réponse

le javax.servlet.http.HttpServletResponse objet crée une instance appelée réponse objet. Comme le moteur JSP crée le nouvel objet chaque fois que l'utilisateur demande une page particulière, il crée également un objet représentant sa réponse. À l'aide de l'objet de réponse, vous pouvez inclure de nouveaux cookies dans le programme JSP, tels que des codes d'état HTTP, des tampons, etc.

L'objet out

le javax.servlet.jsp.JspWriter objet crée une instance appelée en dehors objet. Le moteur JSP peut ajouter du contenu à la réponse demandée par le client. le JspWriter objet a presque les mêmes méthodes présentes dans le java.io.PrintWriter classer. Il existe des méthodes supplémentaires dans le JspWriter objet utilisé pour la mise en mémoire tampon et lève IOException.

L'objet applicatif

le javax.servlet.ServletContext crée une instance appelée un application objet, qui agit comme un wrapper pour le ServletContext objet. Cet objet représente la page JSP. Lorsque la page JSP est initialisée, un objet application est créé. Cet objet est supprimé, car la page JSP est détruite à l'aide de la méthode jspDestroy().

L'objet session

le javax.servlet.http.HttpSession crée une instance appelée session objet. Cet objet fonctionne de la même manière que dans les servlets Java. L'objectif principal de l'objet de session est de suivre la session entre les demandes des clients.

L'objet d'exception

Un wrapper contenant l'exception de la page JSP précédente est appelé un objet d'exception. Lorsqu'une condition d'erreur se produit, un objet exception est utilisé pour la gérer.

La page Objet

L'objet page fournit la référence à l'instance de la page. Il représente la page JSP entière. Le ' cette' objet et l'objet page sont synonymes l'un de l'autre.

L'objet pageContext

le javax.servlet.jsp.PageContext crée une instance appelée pageContext objet. Comme le page objet, le pageContext L'objet représente également la page JSP complète. En utilisant les attributs de l'objet pageContext, nous pouvons dériver d'autres objets implicites, comme application , configuration , session , et en dehors . Cet objet stocke également des informations, telles que l'étendue de la page, l'URL de la page d'erreur et les informations de mise en mémoire tampon. Il existe 40 méthodes prises en charge par l'objet pageContext.

L'objet de configuration

le javax.servlet.ServletConfig crée une instance appelée configuration objet. Cet objet agit comme wrapper pour le ServletConfig objet. Les utilisateurs peuvent utiliser cet objet pour accéder aux paramètres d'initialisation du servlet ou du moteur JSP. La méthode ci-dessous est celle qui est utilisée dans la page JSP à l'aide de l'objet de configuration.

|__+_|

Demande du client JSP

Le serveur Web obtient beaucoup d'informations lorsque le navigateur ou le client demande une page Web particulière. Ces informations ne peuvent pas être utilisées directement, car elles transitent par l'en-tête de la requête HTTP. L'en-tête HTTP contient plusieurs éléments qui stockent les informations lorsque le navigateur demande la page Web. Ces éléments sont accept, accept-charset, accept-encoding, accept-language, connexion, autorisation, cookie, content-length, if-modified-since, host, referrer, if-unmodified-since et user-agent.

L'objet HTTPServletRequest

L'objet javax.servlet.http.HttpServletRequest crée une instance appelée l'objet de requête. Chaque fois qu'un utilisateur demande une page particulière, le moteur JSP génère le nouvel objet. L'objectif principal de l'objet de requête est de récupérer les informations HTTP, telles que les données, les méthodes HTTP, les cookies, etc. Vous trouverez ci-dessous quelques méthodes qui lisent les informations d'en-tête HTTP du programme JSP.

    Énumération getAttributeNames(): cette méthode génère l'énumération, qui contient les noms d'attributs disponibles pour cette demande.Cookie[] getCookies(): Lorsque le client envoie la requête, celle-ci contient des objets cookies. Par conséquent, cette méthode produit un tableau contenant tous ces objets cookie.Énumération getParameterNames(): Cette méthode aboutit à l'énumération des objets String. Cette énumération contient les noms de paramètres présents dans la demande.Énumération getHeaderNames(): Il produit une énumération contenant les noms d'en-tête présents dans cette requête.HttpSession getSession (création booléenne): La méthode HttpSession getSession(boolean create) génère la HttpSession actuelle associée à cette requête. S'il n'y a pas de session présente à ce moment et que le booléen de create est vrai, cette méthode entraîne une nouvelle session.HttpSession getSession(): Cette méthode renvoie la session en cours liée à la requête. Si la session n'est pas disponible, cette méthode en crée une nouvelle et la renvoie.Objet getAttribute (nom de chaîne): Il produit la valeur de l'attribut qui porte le nom en tant qu'objet. S'il n'y a pas de nom pour l'attribut, il renvoie NULL.local getLocale (): Il rend le Locale, où le client acceptera le contenu.Chaîne getAuthType(): Cette méthode spécifie le nom du schéma d'authentification utilisé pour conserver le servlet. Si la JSP n'est pas conservée, elle renvoie NULL.ServletInputStream getInputStream(): Le ServletInputStream récupère le corps de la requête sous la forme binaire.Chaîne getContentType(): Cette méthode renvoie le type MIME du corps de la requête. Si le type n'est pas connu, il renvoie NULL.Chaîne getCharacterEncoding(): Le nom d'encodage de caractères présent dans le corps de la requête est produit par cette méthode.Chaîne getHeader (nom de la chaîne): Il renvoie la valeur de l'en-tête de la requête au format String.Chaîne getContextPath(): Il produit la partie URI de la requête.Chaîne getParameter (nom de la chaîne): cette méthode génère la valeur du paramètre de requête sous la forme de chaîne. Si le paramètre de la requête n'existe pas, elle renvoie NULL.Chaîne getMethod(): La méthode String getMethod() produit le nom de la requête HTTP, qui a été utilisé avec la requête en cours.Chaîne getProtocol(): Les requêtes dans JSP utilisent certains protocoles. Cette méthode renvoie le nom et la version du protocole.Chaîne getPathInfo(): Lorsque le client fait la demande, il envoie l'URL. La méthode String getPathInfo() renvoie des informations supplémentaires sur le chemin lié à l'URL.Chaîne getRemoteAddr(): Cette méthode génère l'adresse IP (Internet Protocol) du système du client.Chaîne getRemoteUser(): Il produit le login du client authentifié effectuant la requête. Si l'utilisateur n'est pas authentifié, il renvoie NULL.Chaîne getRemoteHost(): Si le nom du client faisant la demande doit être récupéré, la méthode String getRemoteHost() peut être utilisée.Chaîne getRequestedSessionId(): Cette méthode renvoie l'ID de session, qui est défini par le client.Chaîne getRequestURI(): Il renvoie l'URL de la requête à partir du nom du protocole.Chaîne [] getParameterValues ​​(nom de la chaîne): Cette méthode renvoie un tableau contenant des objets String. Ces objets contiennent les valeurs de tous les paramètres présents dans la requête.Chaîne getServletPath(): Il renvoie également l'URL de la requête.int getContentLength(): Il renvoie la longueur du corps de la requête en octets.booléen isSecure(): Il renvoie la valeur booléenne précisant si la requête est faite via un canal sécurisé ou non.int getServletPort(): Cette méthode donne le numéro de port de la requête.int getIntHeader(nom de la chaîne): Cette méthode donne la valeur de l'en-tête de la requête au format entier.

L'exemple de demande d'en-tête HTTP

Ici, nous verrons un exemple simple de la demande d'en-tête HTTP. Dans l'exemple de la requête d'en-tête HTTP, nous appliquerons le getHeaderName() méthode de lecture des informations d'en-tête HTTP. Il produit une énumération contenant les informations d'en-tête HTTP de la requête. La méthode hasmoreElements() détermine quand la méthode nextElement() doit s'arrêter.

Exemple:

|__+_|

Écrivez le code ci-dessus dans le main.jsp fichier et accédez-y pour lire les informations de l'en-tête de la requête HTTP. Il vous donnera toutes les informations sur l'en-tête de requête HTTP, comme l'hôte, la connexion, le contrôle du cache, l'agent utilisateur, l'acceptation, la langue d'acceptation et l'encodage d'acceptation.

Réponse du serveur JSP

Lorsque le client ou le navigateur demande la page Web, le serveur Web répond à la requête HTTP appelée réponse. Cette réponse comprend une ligne vide, un document, la ligne d'état et un en-tête de réponse. La réponse HTTP se présente comme suit :

|__+_|

Dans le code ci-dessus, la version HTTP est HTTP/1.1 , 200 est le code d'état, et d'accord est le message au code d'état. Il existe plusieurs en-têtes de réponse, dont la version HTTP/1.1 est envoyée par le serveur Web au navigateur. Ces en-têtes de réponse sont cache-control, allow, content-disposition, connection, content-length, content-encoding, content-language, expires, content-type, location, last-modified, set-cookie, refresh et retry-after .

L'objet HttpServletResponse

Le javax.servlet.http.HttpServletResponse crée une instance appelée l'objet de réponse. Cet objet est créé par le serveur Web, qui représente la réponse envoyée au client. L'objet de réponse est également associé aux interfaces requises pour la création des en-têtes HTTP. Les programmeurs peuvent ajouter de nouveaux cookies, des codes d'état HTTP et des horodatages dans le programme JSP. Voici quelques méthodes ou fonctions utilisées pour ajouter l'en-tête de réponse HTTP dans le programme de servlet.

    Chaîne encodeURL(chaîne URL): Cette méthode est utilisée pour coder une URL particulière qui inclut l'ID de session. Si l'encodage est requis, cette méthode envoie l'URL sans modification.Chaîne encodeRedirectURL(chaîne URL): L'URL incluse dans la fonction sendRedirect est codée. Si l'encodage n'est pas requis, l'URL reste inchangée.booléen estcommis(): Cette fonction génère la valeur booléenne, spécifiant si la réponse a été validée.boolean containsHeader (nom de la chaîne): Il en résulte également la valeur booléenne spécifiant si l'en-tête de réponse portant le nom a été défini.void addHeader (nom de chaîne, valeur de chaîne): Cette fonction inclut un en-tête de réponse avec son nom et sa valeur.void addDateHeader (nom de chaîne, date longue): Il inclut également un nouvel en-tête de réponse avec son nom et sa date.void flushBuffer(): Cette fonction écrit de force le contenu présent dans le tampon vers le client.void addIntHeader(String name, int value): Cette fonction inclut un nouvel en-tête de réponse avec son nom et une valeur entière.annuler resetBuffer(): Il supprime ou efface tout le contenu du tampon sous-jacent mais n'efface pas les en-têtes et les codes d'état.annuler la réinitialisation(): Cette fonction supprime ou supprime toutes les données présentes dans le tampon, ainsi que le code d'état et les en-têtes.void sendError(int sc, String msg): Il en résulte que le message d'erreur a un statut particulier et est envoyé au client.annuler sendError (int sc): Cette fonction transmet également le message d'erreur au client avec le code d'état spécifique en supprimant les données du tampon.void setBufferSize(taille int): Cette fonction fixe la taille de la mémoire tampon pour le corps de la réponse.void setIntHeader(String name, int value): Cette fonction définit l'en-tête de réponse avec son nom et la valeur entière spécifique.

L'exemple de réponse d'en-tête HTTP

Voici un exemple de réponse d'en-tête HTTP, qui utilise la fonction setIntHeader() pour définir l'en-tête Refresh.

Exemple:

|__+_|

Enregistrez le code ci-dessus avec le nom du fichier, main.jsp . Toutes les 4 secondes, l'heure actuelle du système s'affiche, comme illustré ci-dessous.

Sortir:

|__+_|

Code d'état HTTP dans JSP

La requête HTTP et la réponse HTTP ont la même structure comme suit :

  • Tout d'abord, il comprend la ligne d'état, le retour chariot (CRLF) et le saut de ligne. Le saut de ligne implique une nouvelle ligne.
  • Le suivant est zéro ou plusieurs lignes d'en-tête et retour chariot (CRLF).
  • Vient ensuite une ligne vide, CRLF.
  • Enfin, le corps du message est facultatif. Le corps du message peut contenir la sortie de la requête, les données de la requête ou le fichier.

Dans la section ci-dessus, nous avons vu à quoi ressemble l'en-tête de réponse.

Le serveur Web renvoie certains codes HTTP et leurs messages respectifs au client. Ces codes d'état HTTP et leurs messages sont décrits dans la section suivante.

Code Message
100Continuez
101Protocoles de commutation
200d'accord
201Établi
202Accepté
203Informations ne faisant pas autorité
204Pas de contenu
205Réinitialiser le contenu
206Contenu partiel
300Choix multiples
301Se déplace en permanence
302Trouvé
303Voir Autre
304Non modifié
305Utiliser un proxy
306Inutilisé
307Redirection temporaire
400Mauvaise demande
401Non autorisé
402Paiement Requis
403Interdit
404Pas trouvé
405Méthode Non Autorisée
406Pas acceptable
407Authentification proxy requise
408Délai d'expiration de la demande
409Conflit
410Disparu
411Longueur requise
412Échec de la condition préalable
413Entité de requête trop grande
414URL de demande trop longue
415Type de support non pris en charge
417Échec de l'attente
500Erreur interne du serveur
501Pas mis en œuvre
502Mauvaise passerelle
503Service indisponible
504Délai d'expiration de la passerelle
505Version HTTP non prise en charge

Les trois méthodes différentes sont utilisées pour définir le code d'état HTTP comme indiqué ci-dessous :

    public void setStatus(int statusCode): Il définit le code d'état, qui utilise la valeur entière du code d'état comme argument.public void sendRedirect(String url): Cette fonction crée une réponse ayant le code 302. Il génère également un en-tête Location, qui spécifie l'URL du nouveau document.public void sendError (code int, message de chaîne): Cette fonction transmet le code d'état HTTP 404 au navigateur avec un court message.

Nous verrons un exemple simple, qui affichera le code d'état d'erreur 407 au client.

Exemple:

|__+_|

Le code ci-dessus affichera le code d'état HTTP 407 avec le Besoin d'authentification message.

Traitement des formulaires dans JSP

Souvent, nous devons transmettre les données du navigateur au serveur Web et enfin au programme. Il existe deux méthodes, GET et POST utilisées par le navigateur pour transmettre ces données au serveur web. Les quatre méthodes sont utilisées pour lire les données à l'aide de JSP, obtenirParamètre() , getParameterValues() , getParameterNames() , et getInputStream() .

La méthode GET

La méthode GET est utilisée pour transmettre les informations utilisateur codées et les joindre à la demande de page. Les informations utilisateur codées et la demande de page sont séparées par le symbole ' ?'. Cette méthode est la méthode par défaut pour transmettre les informations de l'utilisateur au serveur Web à partir du navigateur. Il renvoie la chaîne qui sera présente dans le Emplacement : boîte du Navigateur. Si vous avez des données confidentielles, comme des mots de passe, n'utilisez pas la méthode GET.

Exemple de méthode GET utilisant une URL

Créons l'URL qui transmettra deux valeurs différentes au programme GetURLForm en utilisant la méthode GET.

|__+_|

Nous allons écrire le code ci-dessous dans le fichier main.jsp. Nous avons utilisé les méthodes getParameter() pour lire les données à l'aide de JSP.

Exemple:

|__+_|

Sortir:

|__+_|

Gestion des cookies

Que sont les cookies ? Les cookies sont les fichiers texte présents sur le bureau du client et sont utilisés à des fins de suivi. Les cookies HTTP sont pris en charge par la JSP. Ici, nous verrons l'anatomie du cookie HTTP, comment définir ou réinitialiser le cookie et les méthodes dans les cookies.

Anatomie d'un cookie

Le cookie est toujours présent dans l'en-tête HTTP. Lorsque le JSP définit le cookie dans l'en-tête HTTP, il a la structure suivante.

|__+_|

Dans le En-tête Set-Cookie ci-dessus, vous pouvez observer nom-valeur paire, Date en GMT, un chemin , et le domaine . Cette paire nom-valeur est présente dans le format URL. Un autre élément du cookie ci-dessus est expire , qui indique au navigateur d'oublier ce cookie après la date et l'heure spécifiées.

Méthodes de cookies

Voici quelques méthodes importantes liées aux cookies, ainsi que leurs descriptions.

    chaîne publique getDomain(): Cette fonction récupère le domaine du cookie.public void setDomain (modèle de chaîne): Vous pouvez définir le domaine de votre cookie à l'aide de cette fonction.public int getMaxAge(): Il récupère l'âge maximum d'un cookie. L'âge est représenté en secondes.public void setMaxAge(int expiration): Cette fonction définira la durée qui s'écoulera avant l'expiration du cookie.chaîne publique getValue(): Il récupère la valeur du cookie.chaîne publique getName(): Il récupère le nom du cookie. Vous ne pouvez pas modifier le nom du cookie après sa création.public void setValue(String newValue): Cette fonction fixe la valeur du cookie.chaîne publique getPath(): Il en résulte le chemin associé au cookie.public void setPath(String uri): Cette fonction définit le chemin du cookie.chaîne publique getComment(): Il se traduit par le commentaire, qui précise la finalité ou l'utilisation du cookie. Si le cookie n'a pas de commentaire, il renvoie NULL.public void setSecure(drapeau booléen): Il spécifie la valeur booléenne définissant s'il faut envoyer le cookie via une connexion cryptée.public void setComment(String purpose): Cette fonction définit le commentaire d'un cookie en précisant son objectif.

Comment paramétrer le Cookie ?

Il existe trois méthodes simples pour définir le cookie. Ces méthodes sont expliquées ci-dessous :

  1. Tout d'abord, créez l'objet cookie. Appelez le constructeur de cookie avec le nom du cookie et la valeur correspondante. Le nom et la valeur sont représentés dans String.
|__+_|

Lors de la création du cookie, vous devez vous rappeler qu'il ne doit pas y avoir d'espaces vides ou de symboles spéciaux dans le nom et la valeur.

  1. Après avoir créé le cookie, nous allons maintenant définir son âge maximum à l'aide du setMaxAge une fonction.
|__+_|

La fonction ci-dessus définit l'âge maximum des cookies de 24 heures.

  1. Enfin, utilisez le response.addCookie pour ajouter le cookie dans l'en-tête de réponse HTTP.
|__+_|

Conclusion

JavaServer Pages ou Jakarta Server Pages (JSP) est la technologie permettant aux développeurs de créer du contenu ou des pages Web dynamiques. JSP présente de nombreux avantages avancés, car il est facile à entretenir, nécessite moins de code que les servlets et offre un développement rapide. Cet article est un guide rapide pour apprendre JSP pour les utilisateurs novices.

Nous avons couvert tous les aspects de la JSP que les développeurs novices doivent apprendre. Avant de démarrer un programme JSP, configurez d'abord l'environnement Java et le chemin de classe Tomcat. Voici un tutoriel complet sur tous les éléments JSP essentiels.

Nous avons un Guide rapide de la théorie des graphes qui parle de tous les détails liés à la théorie des graphes en détail.