Сборка jnlp из файла jsp

Я пытаюсь передать динамические аргументы через файлы jnlp, используя файл jsp для запуска моего приложения Java. Однако я действительно новичок в JWS, поэтому любая помощь будет оценена.

Мой вопрос: что должно быть в test.jnlp, чтобы он мог получить параметры имени пользователя и передать аргументы в приложение java? Я прочитал много других постов, но до сих пор не могу получить заявку, чтобы получить аргументы.

Текущий код:

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>

1 ответ

Решение

В вашем классе сервлетов получите параметры:

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

Если предположить, req является HttpServletRequest, если вы хотите безопасное приложение, то лучше как-нибудь обезопасить свой пароль.

Установите атрибуты в вашем запросе:

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

и отправьте свои атрибуты в jnlp

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

В вашем jsp получите такие атрибуты:

${requestScope.username}
Другие вопросы по тегам