Як отримати дані POST із запиту сервлету?
2024Обробка запитів POST за допомогою вхідного потоку Сервлет може ідентифікувати цей тип запиту POST, перевіряючи тип вмісту вхідного потоку. Якщо він має тип application/x-www-form-urlencoded, дані можна отримати за допомогою getParameter() та подібних методів.
1 Відповідь
- BufferedReader reader = request.getReader();
- public void doPost(запит HttpServletRequest, відповідь HttpServletResponse)
- кидає ServletException, IOException {
- StringBuffer jb = новий StringBuffer();
- рядок рядка = null;
- спробувати {
- BufferedReader reader = request.getReader();
- 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(відповідь => відповідь.
Є два способи зчитування даних в тілі:
- getReader() повертає BufferedReader, який дозволить вам читати тіло запиту.
- getInputStream() повертає ServletInputStream, якщо вам потрібно прочитати двійкові дані.
POST: два основні методи HTTP. GET призначений для отримання даних, додавання параметрів до URL-адреси, ідеально підходить для пошуку. POST, який використовується для оновлень, безпечно надсилає дані в тілі запиту, ідеально підходить для форм. Кожна з них має певні випадки використання на основі потреб безпеки та розміру даних.