2014-12-11 2 views
0

Я хочу отправить запрос PUT/POST другому сервлете JAVA, информирующему, что что-то завершило. Я не хочу отправлять какие-либо материалы. Скажите URL-адрес;отправить/отправить запрос без содержания в сервлете JAVA

putURL = "http://"+recorderIp+":"+recorderPort +"/vodingest/rec/"+recId+"/completed" 

Я не имею никакого контента (содержимого файла), чтобы sent.The сервлет один раз увидеть эту просьбу в своих PUT/POST методов, он будет знать, что что-то завершено, и делает все необходимое.

Как это сделать в сервлете JAVA. Пожалуйста, помогите мне.

ответ

0

Во-первых, PUT по умолчанию не включен на веб-серверах (включая Tomcat), поэтому перед тем, как попробовать, убедитесь, что PUT включен или используется POST. Как упоминалось выше, отправка возможна, если ваши два сервлета (при условии, что есть 2 сервлета) находятся под одним и тем же контейнером. В противном случае, если вы делаете это с отдельного клиента, подход будет другим. Ниже, должны работать во всех средах:

Используйте HttpURLConnection (https://docs.oracle.com/javase/7/docs/api/java/net/HttpURLConnection.html) Использование setRequestMethod для POST Используйте doInput/doOutput, если вам нужно писать и читать из потока (в вашем случае я не думаю, что либо необходимо) ,

Это относительно прямой метод и будет работать. Если вам нужна большая гибкость клиента, вы можете использовать HTTP-клиент Apache Commons.

Одно замечание, если вам нечего писать и ничего не читать, почему вы думаете об использовании PUT?

1

У нас есть много методов для запроса POST на другой сервлет.

1) Отправить Перенаправление

request.sendRedirect("myServletName.java") 

2) Ссылка

out.println("<a href=\"http://localhost:8080/HelloWorld/myServlet\"> Hello World Servlet </a>"); 

3) Запрос Диспетчер

request.getRequestDispatcher("/myServletName").forward(request, response); 

и в ре Квест-объект вы можете передавать значения другому сервлету.

request.setParams("recId" , "completed") 

Я думаю, что третий вариант лучше для вас. Надеюсь, что это решит вашу проблему.

+0

Может ли у плз дать кодовую последовательность? Также где я могу разобрать это сообщение в сервлете назначения? – prashanta

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