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!