Maison  >  Article  >  Java  >  Comment récupérer la charge utile de la requête POST dans un servlet Java ?

Comment récupérer la charge utile de la requête POST dans un servlet Java ?

DDD
DDDoriginal
2024-11-05 03:38:02278parcourir

How to Retrieve POST Request Payload in Java Servlet?

Récupération de la charge utile de la requête POST dans une servlet Java

Lors de la réception de requêtes POST dans une servlet Java, l'accès au contenu de la charge utile de la requête peut être difficile. Voyons comment récupérer efficacement ces données.

L'objet HttpServletRequest fournit des méthodes pour obtenir la charge utile de la requête. En particulier, getReader() et getInputStream() sont deux options à considérer :

  • getReader() : renvoie un BufferedReader pour lire la charge utile sous forme de flux de caractères. Ceci convient aux charges utiles basées sur du texte.
  • getInputStream() : renvoie un ServletInputStream pour lire la charge utile sous forme de flux binaire. Ceci est utile pour gérer les charges utiles non textuelles.

Remarque : Vous ne pouvez utiliser qu'une seule de ces méthodes pour lire la charge utile, pas les deux.

Pour Par exemple, la méthode doPost suivante récupère la charge utile à l'aide de getReader() :

<code class="java">protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    BufferedReader reader = request.getReader();
    String payload = reader.readLine();
    // Process the payload as needed
}</code>

Vous pouvez également utiliser getInputStream() pour traiter la charge utile sous forme de flux binaire :

<code class="java">protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    ServletInputStream inputStream = request.getInputStream();
    byte[] buffer = new byte[4096];
    int length;
    while ((length = inputStream.read(buffer)) != -1) {
        // Process the payload as needed
    }
}</code>

Par en tirant parti de ces méthodes, vous pouvez accéder et traiter efficacement les données utiles dans votre servlet Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn