Téléchargement des produits


Version anglaise


 

Le passage de paramètres entre une requête HTTP et une session Cloud doit être effectué si l'utilisateur souhaite lancer l'application au travers d'une URL de type http://host/mywebapp/index.jsp?param1=xxx&param2=yyy.

 

Une session Cloud est indépendante de la session HTTP au sens JEE.

Une session Cloud est liée au cycle de vie d'une websocket. De part les spécifications JSR-356 de la websocket, il y a une étanchéité complète entre la session http (javax.servlet.http.HttpSession), et la session d'une websocket (javax.websocket.Session), les deux ayant un cycle de vie séparé.

 

Au sein du framework, il convient donc de définir le passage d'information entre une javax.servlet.http.HttpServletRequest et une session Cloud.

 

Principe de fonctionnement

La servlet amont (index.jsp) dispose d'une API afin de passer des couple de type <clé,valeur> à l'ouverture de la session http.

Ces couples sont par la suite accessibles dans la session Cloud de l'application.

 

Exemple d'encapsulation de la servlet principale index.jsp :

 

<%@taglib prefix="t" tagdir="/WEB-INF/tags" %>

<%@ taglib prefix="adelwagon" uri="http://adelwagon.adelia.hardis.com/adelwagon" %>

<adelwagon:pushCustomVariable key="param1"><%=request.getParameter("param1")%></adelwagon:pushCustomVariable><adelwagon:pushCustomVariable key="param2" cipher="true"><%=request.getParameter("param2")%></adelwagon:pushCustomVariable>

<t:adeliaDesktop title="Adelia Desktop" desktopName="default" frameOptions="SAMEORIGIN">

<jsp:attribute name="head_header">

   <adelwagon:customSessionVariables/>

   <link href="logo/logo.css" rel="stylesheet" type="text/css"/>

</jsp:attribute>

<jsp:attribute name="head_footer">

</jsp:attribute><jsp:attribute name="body_header">

</jsp:attribute><jsp:attribute name="body_footer">

</jsp:attribute>

</t:adeliaDesktop>

 

 

Passage de paramètres

Création des couples personnalisés <clef,valeur> ; utlisation du tag :

  

<adelwagon:pushCustomVariable key="clef" [cipher="true|false"]>valeur</adelwagon:pushCustomVariable>

 

 

Remarque : Le couple <clef,valeur> apparaît dans le flux de la page web générée. Si la valeur contient des informations confidentielles, il est possible de chiffrer son contenu à l'aide de l'attribut cipher="true".

 

Exemple de passage de deux couples  <mykey,mycleardata> et <mysecret,myconfidentialdata>

Dans cet exemple, l'utilisateur récupère mykey depuis un paramètre de l'URL et mysecret depuis un attribut de la requête :

  

<adelwagon:pushCustomVariable key="mykey"><%=request.getParameter("mycleardata")%></adelwagon:pushCustomVariable>

<adelwagon:pushCustomVariable key="mysecret" cipher="true"><%=request.getAttribute("myconfidentialdata")%></adelwagon:pushCustomVariable>

 

 

↑ Haut de page

 

Récupération des paramètres depuis une classe Java

  

String myKey    = (String) this.getSessionContext().getMainContainerConfiguration().getAttributes().get("custom.key");

String mySecret = WagonCipher.getInstance().decode((String) this.getSessionContext().getMainContainerConfiguration().getAttributes().get("custom.mysecret"));

 

 

Remarque : la clef mykey est accessible aux niveaux des attributs de la session en la préfixant par custom.

 

Récupération des paramètres depuis un programme VisualAdelia

  

ALPHA(256) W_CUSTOMKEY

ALPHA(1024) W_MYKEY

ALPHA(1024) W_MYSECRETW_CUSTOMKEY='custom.mykey'APPELER_CLASS 'vatoolbx' 'VaToolBxCloudGetSessionAttribute'

W_CUSTOMKEY W_MYKEY 1024W_KEY='custom.mysecret'

APPELER_CLASS 'vatoolbx' 'VaToolBxCloudGetSessionAttribute' W_CUSTOMKEY

 

 

↑ Haut de page


  • Aucune étiquette