Rumah > Java > javaTutorial > Bagaimana untuk Menghuraikan Parameter Berbilang Bahagian/Borang-Data dalam Servlets?

Bagaimana untuk Menghuraikan Parameter Berbilang Bahagian/Borang-Data dalam Servlets?

Barbara Streisand
Lepaskan: 2024-11-09 08:41:02
asal
652 orang telah melayarinya

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

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");
Salin selepas log masuk

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();
    }
}
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan