Rumah >Java >javaTutorial >Bagaimanakah Saya Mendapatkan Muatan Permintaan POST dalam Servlet Java?

Bagaimanakah Saya Mendapatkan Muatan Permintaan POST dalam Servlet Java?

Barbara Streisand
Barbara Streisandasal
2024-11-05 09:17:02737semak imbas

How Do I Retrieve POST Request Payload in a Java Servlet?

Mendapatkan Muatan Permintaan POST dalam Servlet Java

Dalam servlet Java, mendapatkan kandungan muatan permintaan POST kadangkala boleh menimbulkan cabaran untuk pemaju. Isu biasa ialah cuba mengakses data dalam bahagian Minta Muatan pada tab pengepala dalam Alat Pembangun Chrome tetapi menemui hasil yang kosong.

Penyelesaian: Menggunakan getReader() atau getInputStream()

Untuk berjaya mengakses data muatan permintaan, gunakan kaedah berikut:

  • getReader(): Kaedah ini menyediakan objek BufferedReader, membolehkan anda membaca permintaan badan. Ini sesuai untuk data berasaskan teks.
  • getInputStream(): Gunakan kaedah ini apabila anda perlu memproses data binari. Ia mengembalikan objek ServletInputStream.

Contoh Kod:

<code class="java">public class TestFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        // Retrieve the request payload data
        BufferedReader reader = request.getReader();
        String payload = reader.readLine();

        // Process the payload data
        // ...

        // Pass control to the next filter or servlet
        chain.doFilter(request, response);
    }
}</code>

Nota Penting:

Mengikut dokumentasi Java Servlet API, anda hanya boleh menggunakan salah satu daripada dua kaedah ini untuk membaca kandungan, bukan kedua-duanya. Oleh itu, pilih kaedah yang paling sesuai dengan jenis data yang anda jangkakan dalam muatan permintaan.

Atas ialah kandungan terperinci Bagaimanakah Saya Mendapatkan Muatan Permintaan POST dalam Servlet Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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