2017-09-20 4 views
0

Je suis un dba et notre équipe a récemment perdu les deux développeurs Java qui développaient/maintenaient nos applications. Nous avons découvert que certains de nos fichiers .jsp ont besoin d'être modifiés et que les administrateurs de bases de données tentent de le comprendre pendant que nous essayons de trouver un développeur. Cependant, j'ai du mal à comprendre d'où viennent certaines de ces variables. Le fichier sur lequel je travaille est très court:D'où viennent ces variables provenant du fichier .jsp?

<%@ include file="../../include/header-text-email.html" %> 
Your ZEDIAN account for ${system} will be terminated in ${daysLeft} days based on inactivity 
or based on an established expiration date. 

<%--%> 
check if ${system} evaluates to WAF, if so display different message 
Found on Stack Overflow (https://stackoverflow.com/questions/26930216/using-if-else-in-jsp): 

<c:choose> 
    <c:when test="${empty user}"> 
     I see! You don't have a name.. well.. Hello no name 
    </c:when> 
    <c:otherwise> 
     <%@ include file="response.jsp" %> 
    </c:otherwise> 
</c:choose> 

Also, unless you plan on using response.jsp somewhere else in your code, it might be easier to just include the html in your otherwise statement: 
<c:otherwise> 
    <h1>Hello</h1> 
    ${user} 
</c:otherwise> 

<%--%> 
To avoid termination for inactivity, please visit <c:out value="${url}"/>. 
Terminating your account requires no action. 


If you have any questions, please email the ZEDIAN mailbox at: 
<c:out value="${mailbox}"/> 

J'ai laissé un commentaire dans le fichier qui montre ce que j'essaie de faire. Je voudrais voir si la variable $ {system} va évaluer WAF (le système qui cause nos problèmes et nécessite son propre email sortant différent des autres systèmes). Cela dit, je sais d'où proviennent les variables dans la base de données, mais je ne suis pas sûr d'où elles viennent dans ce fichier. Je ne suis pas sûr si le format de $ {system} est le même que la version dans la base de données (c.-à-d. Abrévié, majuscule, minuscule, etc ...) J'ai essayé de chercher ces valeurs dans d'autres fichiers mais je suis ne pas voir où les valeurs sont définies. Quelqu'un peut-il fournir des conseils?

Répondre

-1

Il y a une servlet (qui est un fichier java uniquement) dont le travail est de gérer la demande à venir. La servlet aura une méthode comme get ou post.

Dans cette méthode, il sera logique de définir les attributs à la portée de la demande.

request.setAttribute("system", "some value");

Ces attributs accessibles dans jsp comme $ {système}

+0

Merci pour cette réponse! Ça a du sens. Savez-vous comment je pourrais trouver quel fichier aurait cette servlet? Je suppose que ce serait sur le serveur d'application, d'où j'ai tiré ce fichier. J'ai cherché beaucoup de fichiers (il y en a environ 100) mais pas tous et je ne sais pas où chercher. Je comprends que vous ne connaitrez pas les répertoires et les fichiers spécifiques impliqués dans nos applications, mais je cherche à savoir s'il y a un endroit commun pour les stocker? –

+0

Recherchez un fichier appelé 'WEB-INF/web.xml', il y aura des mappages pour un servlet à un modèle d'URL spécifique. Regardez l'URL à laquelle vous accédez sur cette page dans votre navigateur, trouvez ce motif correspondant dans web.xml et vous verrez le nom de la servlet qui gère la requête. À moins que votre application n'utilise un framework comme 'struts' ou autre chose. –

+0

Essayez de faire une recherche sur 'setAttribute. * System' dans le fichier * java. Cela vous rapproche de la réponse. Ouvrir le fichier java à partir des résultats envoyer voir s'ils ont la référence du fichier jsp qui a les attributs en question – Geek

0
  1. Ils semblent provenir du fichier inclus.
  2. Une page JSP s'exécute dans un contexte où de nombreuses variables sont fournies: la requête, l'URL, la session, ... Vous allez devoir consulter la documentation: pourquoi pas maintenant?