Heim  >  Artikel  >  Java  >  Wie analysiert man Multipart-/Formulardatenparameter in Servlets?

Wie analysiert man Multipart-/Formulardatenparameter in Servlets?

Barbara Streisand
Barbara StreisandOriginal
2024-11-09 08:41:02535Durchsuche

How to Parse Multipart/Form-Data Parameters in Servlets?

Parsen von Multipart-/Formulardatenparametern in Servlets

Beim Parsen eingehender Anfragen, die im Multipart-/Formdatenformat codiert sind, ist es wichtig, Folgendes zu tun Beheben Sie die Einschränkungen der Servlet-API vor Version 3.0. Standardmäßig geht die Servlet-API von der Kodierung application/x-www-form-urlencoded aus, was bei Verwendung von request.getParameter() zu Nullwerten führt.

Lösung für Servlet 3.0 und höher

Wenn Ihre Anwendung auf Servlet 3.0 oder höher läuft, ist die Lösung unkompliziert. Verwenden Sie HttpServletRequest#getPart(), um mehrteilige Formulardatenparameter nach Namen abzurufen:

Part part = request.getPart("paramName");

Lösung für Servlet-Versionen vor 3.0

Für Umgebungen vor Servlet 3.0: Ein empfohlener Ansatz ist die Verwendung der Apache Commons FileUpload-Bibliothek. Diese Bibliothek bietet die notwendigen Parsing-Funktionen für mehrteilige/Formulardatenanfragen und bewältigt die Komplexität der Grenzerkennung und Datenextraktion:

ServletFileUpload fileUpload = new ServletFileUpload();
FileItemIterator fileItemIterator = fileUpload.getItemIterator(request);
while (fileItemIterator.hasNext()) {
    FileItem fileItem = fileItemIterator.next();
    if (fileItem.isFormField()) {
        String paramName = fileItem.getFieldName();
        String paramValue = fileItem.getString();
    }
}

Das obige ist der detaillierte Inhalt vonWie analysiert man Multipart-/Formulardatenparameter in Servlets?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn