Outils pour utilisateurs

Outils du site


helloworld:web:java:jsp

Ceci est une ancienne révision du document !


Une page JSP utilise du code HTML dans lequel est mis du code Java. Le code généré par les appels aux fonctions JSP est du HTML 4.01.

<note>Tous les exemples ci-dessous utilisent le BeanPersonne.</note>

Cycle de vie

Création du projet

Nécessite un projet de type Dynamic Web Project.

Exemple 1 - La base

indexjsp.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  <p>
    <%
      if (15 % 2 == 0)
      {
        out.print ("15 est un nombre pair.");
      }
      else
      {
        out.print ("15 est un nombre impair.");
      }
    %>
    <br />
    <%
      switch (16 % 2)
      {
        case 0:
          out.print ("16 est un nombre pair.");
          break;
        default:
          out.print ("16 est un nombre impair.");
          break;
      }
    %>
  </p>
</body>
</html>

Rendu :

15 est un nombre impair. 
16 est un nombre pair.

Exemple 2 - Utilisation d'un Bean

indexjsp2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  <jsp:useBean id="perso1" scope="session" class="com.llgc.BeanPersonne">
    <jsp:setProperty property="taille" name="perso1" value="170" />
  </jsp:useBean>
  <jsp:setProperty property="yeuxBleus" name="perso1" value="true" />
  <jsp:useBean id="perso2" scope="session" class="com.llgc.BeanPersonne">
    <jsp:setProperty property="taille" name="perso2" value="160" />
  </jsp:useBean>
  <jsp:setProperty property="yeuxBleus" name="perso2" value="false" />
  <p>
    La personne 1 possède une taille de ${sessionScope.perso1.taille} cm et
    <%
      if (!perso1.isYeuxBleus ())
      {
        out.print ("n'a pas");
      }
      else
      {
        out.print ("a");
      }
    %>
    les yeux bleus.<br />
    La personne 2 possède une taille de <jsp:getProperty property="taille" name="perso2"/> cm et
    <%
      if (!perso2.isYeuxBleus ())
      {
        out.print ("n'a pas");
      }
      else
      {
        out.print ("a");
      }
    %>
    les yeux bleus.
  </p>
</body>
</html>

Rendu :

La personne 1 possède une taille de 170 cm et a les yeux bleus.
La personne 2 possède une taille de 160 cm et n'a pas les yeux bleus.

Exemple 3 - Formulaire avec Bean global et session

index3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  <jsp:useBean id="persoloc" scope="session" class="com.llgc.BeanPersonne" />
  <jsp:setProperty name="persoloc" property="*" />
  <jsp:useBean id="perso" scope="application" class="com.llgc.BeanPersonne" />
  Valeur par défaut du bean application : ${perso.taille}.<br />
  Valeur en cours du bean session : ${persoloc.taille}
  <br />
  <form method="post" action="index3.jsp">
    Taille : <input name="taille" type="text" />
    <input type="submit" value="Submit" />
  </form>
</body>
</html>

Rendu du formulaire : Rendu du formulaire

Rendu de la réponse : Rendu de la réponse

Exemple 4 - context-param et init-param

Ajout de :

  • un servlet et son servlet-mapping s'appliquant à indexjsp4.jsp,
  • trois context-param,
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"
  version="3.1">
  <display-name>EL</display-name>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>JSP</servlet-name>
    <jsp-file>/indexjsp4.jsp</jsp-file>
    <init-param>
      <param-name>user2</param-name>
      <param-value>utilisateurServlet</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>JSP</servlet-name>
    <url-pattern>/indexjsp4.jsp</url-pattern>
  </servlet-mapping>
  <context-param>
    <param-name>user</param-name>
    <param-value>utilisateur</param-value>
  </context-param>
  <context-param>
    <param-name>password</param-name>
    <param-value>mot de passe</param-value>
  </context-param>
  <context-param>
    <param-name>driver</param-name>
    <param-value>com.mysql.jdbc.Driver</param-value>
  </context-param>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping></web-app>
indexjsp4.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  <p>
    <%
      out.println ("nom : " + getServletContext ().getInitParameter ("user") + "<br />");
      out.println ("pass : " + getServletContext ().getInitParameter ("password") + "<br />");
      out.println ("driver : " + getServletContext ().getInitParameter ("driver") + "<br />");
      out.println ("nom2 : " + getServletConfig().getInitParameter ("user2"));
    %>
  </p>
</body>
</html>

Rendu :

nom : utilisateur
pass : mot de passe
driver : com.mysql.jdbc.Driver
nom2 : utilisateurServlet

Exemple 5 - Cookies

indexjsp5.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  <p>
    <%
      Cookie[] cookies = null;
      int compteur = 0;
      // Get an array of Cookies associated with this domain
      cookies = request.getCookies ();
      if (cookies != null)
      {
        int i;
        for (i = 0; i < cookies.length; i++)
        {
          if (cookies[i].getName ().compareTo ("compteur") == 0)
          {
            compteur = Integer.parseInt (cookies[i].getValue ());
            out.println ("compteur : " + compteur);
            break;
          }
        }
        if (i == cookies.length)
        {
          out.println ("Pas de cookie, allez cuisiner !!!");
        }
      }
      else
      {
        out.println ("Pas de cookie, allez cuisiner !!!");
      }
      compteur++;
      Cookie c = new Cookie ("compteur", "" + compteur);
      c.setMaxAge (3600);
      response.addCookie (c);
    %>
  </p>
</body>
</html>

Rendu 1 :

Pas de cookie, allez cuisiner !!!

Rendu 2 :

compteur : 1

Exemple 6 - Affichage d'une liste dans un tableau

La liste est générée par une classe Java Liste6 et affiche un type BeanPersonne.

indexjsp6.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"
  import="java.util.List, com.llgc.BeanPersonne, com.llgc.Liste6"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  <table border="1">
    <tr>
      <td>Taille</td>
      <td>Yeux bleus</td>
    </tr>
    <%
      List <BeanPersonne> liste = Liste6.getListePersonne ();
      for (BeanPersonne beanPersonne : liste)
      {
        out.println ("      <tr>");
        out.println ("        <td>" + beanPersonne.getTaille () + "</td>");
        out.println ("        <td>" + beanPersonne.isYeuxBleus () + "</td>");
        out.println ("      </tr>");
      }
    %>
  </table>
</body>
</html>

Rendu : Rendu exemple 6

helloworld/web/java/jsp.1439324780.txt.gz · Dernière modification : de root