J'ai besoin d'aide. L'une des exigences de mon développement actuel est la suivante:
Le serveur retournera 200-OK en réponse (httpresponse).
Par conséquent, si le panéliste est vérifié, le serveur doit également renvoyer l'identifiant du panéliste de ce panéliste.
Le serveur place l'identifiant du panéliste dans le corps du 200-OK réponse de la manière suivante:
<tdcp>
<cmd>
<ack cmd=”Init”>
<panelistid>3849303</panelistid>
</ack>
</cmd>
Maintenant, je suis capable de mettre la httpresponse comme
httpServletResponse.setStatus(HttpServletResponse.SC_OK);
Et je peux mettre
String responseToClient= "<tdcp><cmd><ack cmd=”Init”><panelistid>3849303</panelistid></ack></cmd></tdcp>";
Maintenant, que signifie l'insertion du code XML ci-dessus dans le corps de la réponse 200-OK et comment peut-on l'obtenir?
Vous pouvez écrire le code XML directement dans la réponse comme suit:
Cet exemple utilise ServletResponse.getWriter()
, qui est une PrintWriter
pour écrire une chaîne dans la réponse.
String responseToClient= "<tdcp><cmd><ack cmd=”Init”><panelistid>3849303</panelistid></ack></cmd></tdcp>";
httpServletResponse.setStatus(HttpServletResponse.SC_OK);
httpServletResponse.getWriter().write(responseToClient);
httpServletResponse.getWriter().flush();
httpServletResponse.getWriter().close();
Vous devez simplement obtenir le flux de sortie (ou le rédacteur de sortie) de la réponse du servlet et y écrire. Voir ServletResponse.getOutputStream()
et ServletResponse.getWriter()
pour plus de détails.
(Ou tout simplement lire n'importe quel didacticiel de servlet - sans la possibilité d'inclure des données dans le corps des réponses, les servlets seraient plutôt inutiles :)
Si cela est censé être du XML, Word vous a déjà gâché des choses en changeant le symbole de citation d'attribut en ”
au lieu de "
.
Il vaut la peine de regarder JAXP si vous voulez générer du XML en utilisant Java. L'écriture de chaînes avec <
etc. dans celles-ci ne sera pas mise à l'échelle et vous rencontrerez des problèmes d'encodage de caractères non-ASCII.