Objets implicites JSP: didacticiel complet

Table des matières:

Anonim

Qu'est-ce que l'objet implicite JSP?

  • Les objets implicites JSP sont créés pendant la phase de traduction de JSP vers le servlet.
  • Ces objets peuvent être directement utilisés dans les scriplets qui vont dans la méthode de service.
  • Ils sont créés automatiquement par le conteneur et sont accessibles à l'aide d'objets.

Combien d'objets implicites sont disponibles dans JSP?

Il existe 9 types d'objets implicites disponibles dans le conteneur:

  1. en dehors
  2. demander
  3. réponse
  4. config
  5. application
  6. session
  7. pageContexte
  8. page
  9. exception

Permet d'étudier un par un

en dehors

  • Out est l'un des objets implicites pour écrire les données dans la mémoire tampon et envoyer la sortie au client en réponse
  • L'objet Out nous permet d'accéder au flux de sortie du servlet
  • Out est un objet de la classe javax.servlet.jsp.jspWriter
  • Tout en travaillant avec le servlet, nous avons besoin d'un objet printwriter

Exemple:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru implicite JSP1 <% int num1 = 10; int num2 = 20;out.println ("num1 est" + num1);out.println ("num2 est" + num2);%>

Explication du code:

Code Line 11-12 - out est utilisé pour imprimer dans le flux de sortie

Lorsque nous exécutons le code ci-dessus, nous obtenons la sortie suivante:

Production:

  • Dans la sortie, nous obtenons les valeurs de num1 et num2

Demander

  • L'objet de requête est une instance de java.servlet.http.HttpServletRequest et c'est l'un des arguments de la méthode de service
  • Il sera créé par conteneur pour chaque demande.
  • Il sera utilisé pour demander les informations telles que le paramètre, les informations d'en-tête, le nom du serveur, etc.
  • Il utilise getParameter () pour accéder au paramètre de requête.

Exemple:

Implicit_jsp2.jsp (formulaire à partir duquel la requête est envoyée à guru.jsp)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru implicite de la forme JSP2 

Guru.jsp (où l'action est entreprise)

Explication du code:

Ligne de code 10-13: Dans implicit_jsp2.jsp (formulaire), la demande est envoyée, d'où le nom d'utilisateur variable est traité et envoyé à guru.jsp qui est l'action de JSP.

Guru.jsp

Code Line10-11: C'est l'action jsp où la demande est traitée, et le nom d'utilisateur est tiré du formulaire jsp.

Lorsque vous exécutez le code ci-dessus, vous obtenez la sortie suivante

Production:

Lorsque vous écrivez un test et cliquez sur le bouton Soumettre, vous obtenez la sortie suivante "Test de bienvenue".

Réponse

  • "Response" est une instance de classe qui implémente l'interface HttpServletResponse
  • Container génère cet objet et passe à la méthode _jspservice () en tant que paramètre
  • Un "objet de réponse" sera créé par le conteneur pour chaque requête.
  • Il représente la réponse qui peut être donnée au client
  • L'objet implicite de réponse est utilisé pour taper du contenu, ajouter un cookie et rediriger vers la page de réponse

Exemple:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru implicite JSP4 <% response.setContentType ("text / html"); %>

Explication du code:

Ligne de code 11: Dans l'objet de réponse, nous pouvons définir le type de contenu

Ici, nous définissons uniquement le type de contenu dans l'objet de réponse. Par conséquent, il n'y a pas de sortie pour cela.

Config

  • "Config" est du type java.servlet.servletConfig
  • Il est créé par le conteneur pour chaque page jsp
  • Il est utilisé pour obtenir le paramètre d'initialisation dans web.xml

Exemple:

Web.xml (spécifie le nom et le mappage du servlet)

Implicit_jsp5.jsp (obtention de la valeur du nom du servlet)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru implicite JSP5 <% String servletName = config.getServletName ();out.println ("Le nom du servlet est" + le nom du servlet);%>

Explication du code:

Dans web.xml

Ligne de code 14-17: Dans web.xml, nous avons le mappage des servlets aux classes.

Implicit_jsp5.jsp

Ligne de code 10-11: Pour obtenir le nom du servlet dans JSP, nous pouvons utiliser config.getServletName, qui nous aidera à obtenir le nom du servlet.

Lorsque vous exécutez le code ci-dessus, vous obtenez la sortie suivante:

Production:

  • Le nom du servlet est "GuruServlet" car le nom est présent dans web.xml

Application

  • L'objet Application (ligne de code 10) est une instance de javax.servlet.ServletContext et il est utilisé pour obtenir les informations de contexte et les attributs dans JSP.
  • L'objet Application est créé par le conteneur un par application, lorsque l'application est déployée.
  • L'objet Servletcontext contient un ensemble de méthodes utilisées pour interagir avec le conteneur de servlet.Nous pouvons trouver des informations sur le conteneur de servlet

Exemple:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP6 implicite <% application.getContextPath (); %>

Explication du code:

  • Dans le code ci-dessus, l'attribut d'application permet d'obtenir le chemin de contexte de la page JSP.

Session

  • La session contient l'objet "httpsession" (ligne de code 10).
  • L'objet de session est utilisé pour obtenir, définir et supprimer des attributs de la portée de session et également utilisé pour obtenir des informations de session

Exemple:

Implicit_jsp7 (l'attribut est défini)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> JSP implicite <% session.setAttribute ("utilisateur", "GuruJSP"); %> Cliquez ici pour obtenir le nom d'utilisateur 

Implicit_jsp8.jsp (getAttribute)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP8 implicite <% String name = (String) session.getAttribute ("utilisateur");out.println ("Le nom d'utilisateur est" + nom);%>

Explication du code:

Implicit_jsp7.jsp

Ligne de code 11: nous définissons l'attribut user dans la variable de session, et cette valeur peut être extraite de la session dans n'importe quel jsp appelé à partir de cela (_jsp8.jsp).

Ligne de code 12: Nous appelons un autre jsp sur href dans lequel nous obtiendrons la valeur de l'attribut user qui est définie.

Implicit_jsp8.jsp

Ligne de code 11: Nous obtenons la valeur de l'attribut utilisateur de l'objet de session et affichons cette valeur

Lorsque vous exécutez le code ci-dessus, vous obtenez la sortie suivante:

Lorsque vous cliquez sur le lien du nom d'utilisateur. Vous obtiendrez la sortie suivante.

Production:

  • Lorsque nous cliquons sur le lien donné dans implicit_jsp7.jsp, nous sommes redirigés vers la deuxième page jsp, c'est-à-dire la page (_jsp8.jsp) et nous obtenons la valeur de l'objet session de l'attribut utilisateur (_jsp7.jsp).

pageContext:

  • Cet objet est du type de pagecontext.
  • Il est utilisé pour obtenir, définir et supprimer les attributs d'une portée particulière

Les portées sont de 4 types:

  • Page
  • Demander
  • Session
  • Application

Exemple:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru implicite JSP9 <% pageContext.setAttribute ("étudiant", "gurustudent", pageContext.PAGE_SCOPE);String name = (String) pageContext.getAttribute ("student");out.println ("le nom de l'élève est" + nom);%>

Explication du code:

Ligne de code 11: nous définissons l'attribut à l'aide de l'objet pageContext, et il a trois paramètres:

  • Clé
  • Évaluer
  • Portée

Dans le code ci-dessus, la clé est student et la valeur est "gurustudent" tandis que la portée est la portée de la page. Ici, la portée est "page" et elle ne peut être obtenue qu'en utilisant la portée de la page.

Ligne de code 12: Nous obtenons la valeur de l'attribut en utilisant pageContext

Lorsque vous exécutez le code ci-dessus, vous obtenez la sortie suivante:

Production:

  • La sortie affichera "le nom de l'étudiant est gurustudent".

Page

  • La variable implicite de page contient l'objet servlet actuellement exécuté pour le jsp correspondant.
  • Agit comme cet objet pour la page jsp actuelle.

Exemple:

Dans cet exemple, nous utilisons l'objet page pour obtenir le nom de la page à l'aide de la méthode toString

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru implicite JSP10 <% String pageName = page.toString ();out.println ("Le nom de la page est" + le nom de la page);%>

Explication du code:

Ligne de code 10-11: Dans cet exemple, nous essayons d'utiliser la méthode toString () de l'objet page et essayons d'obtenir le nom de chaîne de la page JSP.

Lorsque vous exécutez le code, vous obtenez la sortie suivante:

Production:

  • La sortie est le nom de chaîne de la page jsp ci-dessus

Exception

  • L'exception est l'objet implicite de la classe jetable.
  • Il est utilisé pour la gestion des exceptions dans JSP.
  • L'objet d'exception ne peut être utilisé que dans les pages d'erreur.

    Exemple:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1" isErrorPage = "true"%> Guru implicite JSP 11 <% int [] num1 = {1,2,3,4};out.println (num1 [5]);%><% = exception%>

Explication du code:

Code Line 10-12 - Il a un tableau de nombres, c'est à dire, num1 avec quatre éléments. Dans la sortie, nous essayons d'imprimer le cinquième élément du tableau à partir de num1, qui n'est pas déclaré dans la liste des tableaux. Donc, il est utilisé pour obtenir l'objet d'exception du jsp.

Production:

Nous obtenons ArrayIndexOfBoundsException dans le tableau où nous obtenons un tableau num1 du cinquième élément.