2013-11-06 5 views
3

В моем сервлете req.getQueryString() возвращает null, когда ему отправляется запрос ajax. Это потому, что req.getQueryString() работает только для GET, а не POST?Java HttpServletRequest getquerystring

public void doPost(HttpServletRequest req, HttpServletResponse resp) 
     throws ServletException, IOException { 
req.getQueryString(); 
} 

ответ

1

От docs:

Этот метод возвращает пустое значение, если URL не имеет строку запроса.

Поскольку вы находитесь в обработчике doPost(), мы можем предположить, что в действительности запрос не имеет строки запроса, поскольку это POST.

7

Самый простой способ получить параметры запроса - использовать request.getParameter(). Это работает как для запросов GET, так и для POST.

POST-запросы обычно несут свои параметры в теле запроса, поэтому метод request.getQueryString() возвращает значение null.

1

У запроса POST может быть строка запроса, но это не редкость. Данные POST включаются непосредственно после заголовков HTTP, которые браузер отправляет на сервер.

Смежные вопросы