Menghuraikan Parameter Berbilang Bahagian/Borang-Data dalam Servlet
Apabila menghuraikan permintaan masuk yang dikodkan dalam format berbilang bahagian/data borang, adalah penting untuk menangani batasan API Servlet sebelum versi 3.0. Secara lalai, Servlet API menganggap pengekodan aplikasi/x-www-form-urlencoded, menghasilkan nilai nol apabila menggunakan request.getParameter().
Penyelesaian untuk Servlet 3.0 dan Kemudian
Jika aplikasi anda menggunakan Servlet 3.0 atau lebih tinggi, penyelesaiannya adalah mudah. Gunakan HttpServletRequest#getPart() untuk mendapatkan semula parameter data borang berbilang bahagian mengikut nama:
Part part = request.getPart("paramName");
Penyelesaian untuk Versi Servlet Sebelum 3.0
Untuk persekitaran pra-Servlet 3.0, pendekatan yang disyorkan ialah menggunakan perpustakaan Apache Commons FileUpload. Pustaka ini menyediakan keupayaan penghuraian yang diperlukan untuk permintaan berbilang bahagian/data bentuk, mengendalikan kerumitan pengesanan sempadan dan pengekstrakan data:
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(); } }
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Parameter Berbilang Bahagian/Borang-Data dalam Servlets?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!