розетки в сервлетах - PullRequest
       20

розетки в сервлетах

0 голосов
/ 23 января 2012

У меня есть Java-клиент, который отправляет сообщение на сервер. Сервер - это сервлет, развернутый на jboss. Мой вопрос: может ли сервлет отправлять данные обратно клиенту в качестве подтверждения? это возможно в сервлетах?

Ответы [ 5 ]

2 голосов
/ 23 января 2012

Из Учебное пособие по Java EE 5, глава 4 :

Что такое сервлет?

Сервлет - это класс языка программирования Java, который используется для расширения возможностей серверов, на которых размещаются приложения, доступ к которым осуществляется посредством модели программирования запрос-ответ. Хотя сервлеты могут отвечать на любые запросы, они обычно используются для расширения приложений, размещаемых на веб-серверах. Для таких приложений технология Java Servlet определяет специфичные для HTTP классы сервлетов.

1 голос
/ 23 января 2012

http-сервлет работает по http-запросу и может отправлять обратно http-ответ. Вы можете подключиться к нему с помощью URLConnection, как описано выше.

Если вы не хотите попасть на этот уровень (уровень), вы можете работать с пакетами напрямую (используя сокеты). Здесь вам не нужен сервлет на самом деле. Здесь ваш сервер (простое Java-приложение) будет прослушивать сокет для любого входящего соединения, и клиент может подключиться к нему.

1 голос
/ 23 января 2012

Ashwinm, если вы ищете отправку результата в сокет (на клиенте), а не получение результата через обычный HTTP-ответ.

То, что я считаю, тогда не является вопросом сервлета.В любом случае вы можете сделать что-нибудь в Java.Но нужно взглянуть на обычный учебник «Как записать в сокет».

GenreicServlet может обеспечить некоторую расширяемость или какое-либо решение.

РЕДАКТИРОВАТЬ

Я прочитаю ваши комментарии ниже.Да, вам нужно URLConnection в этом случае как минимум.

1 голос
/ 23 января 2012

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

Есть много способов сделать это, но самый «сырой» способ - записать в ServletResponse.getOutputStream(),ServletResponse передается методу service реализации Servlet.Обратите внимание, что данные, конечно же, будут отправлены обратно как действительный ответ HTTP (идентифицируется с помощью MIME и т. Д.).

1 голос
/ 23 января 2012

Да, это возможно с сервлетами.Прочитайте основы здесь .

...