Як отримати дані POST із запиту сервлету?

2024 Від admin

Обробка запитів POST за допомогою вхідного потоку Сервлет може ідентифікувати цей тип запиту POST, перевіряючи тип вмісту вхідного потоку. Якщо він має тип application/x-www-form-urlencoded, дані можна отримати за допомогою getParameter() та подібних методів.

1 Відповідь

  1. BufferedReader reader = request.getReader();
  2. public void doPost(запит HttpServletRequest, відповідь HttpServletResponse)
  3. кидає ServletException, IOException {
  4. StringBuffer jb = новий StringBuffer();
  5. рядок рядка = null;
  6. спробувати {
  7. BufferedReader reader = request.getReader();
  8. while ((line = reader.readLine()) != null)

HttpServletRequest — це інтерфейс, який відкриває метод getInputStream(). читати тіло. За замовчуванням дані з цього InputStream можна прочитати лише один раз.

Щоб отримати опубліковані дані JSON за допомогою API, потрібно виконати такі дії: fetch('https://example.com/api/data', { method: 'POST', headers: { 'Content-Type': 'application/ json' }, тіло: JSON stringify({ key1: 'value1', key2: 'value2' }) }). then(відповідь => відповідь.

Є два способи зчитування даних в тілі:

  1. getReader() повертає BufferedReader, який дозволить вам читати тіло запиту.
  2. getInputStream() повертає ServletInputStream, якщо вам потрібно прочитати двійкові дані.

POST: два основні методи HTTP. GET призначений для отримання даних, додавання параметрів до URL-адреси, ідеально підходить для пошуку. POST, який використовується для оновлень, безпечно надсилає дані в тілі запиту, ідеально підходить для форм. Кожна з них має певні випадки використання на основі потреб безпеки та розміру даних.