2017-08-17 7 views
2

J'essaie de transmettre des arguments dynamiques via les fichiers jnlp en utilisant un fichier jsp pour démarrer mon application Java. Cependant, je suis vraiment nouveau à JWS donc toute aide serait appréciée.Construction d'un fichier jnlp à partir d'un fichier jsp

Ma question est, ce qui devrait être dans le test.jnlp pour qu'il reçoive les paramètres du nom d'utilisateur et passe les arguments dans l'applciation java? J'ai lu beaucoup d'autres articles mais je ne peux toujours pas obtenir mon application pour recevoir les arguments.

Code actuel:

JNLP.JSP

<% 
response.setHeader("Pragma", "no-cache"); 
response.setHeader("Expires", "0"); 
response.setHeader("Content-Disposition", "filename=\"bb.jnlp\";"); 
response.setContentType("application/x-java-jnlp-file"); 
%> 
<?xml version="1.0" encoding="utf-8"?> 
<jnlp spec="1.0+" 
     codebase=<%=request.getScheme() + "://"+ request.getServerName() + ":" 
+ 
request.getServerPort()+ request.getContextPath() + "/" %> 
     href="test.jnlp&#063;username=<%=request.getParameter("username")%>"> 
    <information> 
     <title>ProBuilder</title> 
     <vendor>pAtoms</vendor> 
     <homepage href="http://localhost:8080/" /> 
     <description>ProBuilder</description> 
    </information> 
    <security> 
    <sandbox/> 
    </security> 
    <resources> 
     <j2se version="1.6+" /> 
     <jar href="ProBuilder.jar" /> 
    </resources> 
    <application-desc main-class="adam.Adam" > 
     <argument><%=request.getParameter("username")%></argument> 
    </application-desc> 
</jnlp> 

Répondre

0

Dans votre classe servlet obtenir des paramètres:

String username = req.getParameter("username"); 
String pass = req.getParameter("pass"); 

Si l'on suppose req est HttpServletRequest, si vous voulez application sécurisée alors mieux sécuriser en quelque sorte votre mot de passe.

Définir les attributs de votre demande:

req.setAttribute(username, "username"); 
req.setAttribute(pass, "pass"); 

et l'expédition de vos attributs jnlp

req.getRequestDispatcher("jnlp.jsp").forward(req, YOUR_HttpServletResponse); 

Dans votre jsp obtenir des attributs tels que:

${requestScope.username} 
+0

Merci pour l'aide! Je pense que j'ai besoin de lire sur jnlp et comment servlet interagir avec un autre pour l'utiliser pleinement. –