|
|
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
Начал интересоваться play фреимворком. Где-то зацепил мысль, что там внутри нет сервлетов. А как тогда это может работать? Ну то есть есть html страница, есть java код. Как они ещё могут быть связаны как не через сервлеты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2017, 22:26 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerНачал интересоваться play фреимворком. Где-то зацепил мысль, что там внутри нет сервлетов. А как тогда это может работать? Ну то есть есть html страница, есть java код. Как они ещё могут быть связаны как не через сервлеты? Не знаю play! ;) но Вы просто не понимаете сути. Приложение слушает порт. Любое приложение может слушать любой порт. При входящем зарпосе на этот порт вызывается некоторые метод. Он должен вернуть ответ. В случае html есть стандарт- что можно получить, что надо отдавать. В java есть стандартная привязка этого к методам с помощью классов HttpServlet и GenericServlet. Но это всё общий подход. Можно использовать что угодно. Более того, чтобы заработал Servlet надо чтобы сервер это обеспечил. См. например org.eclipse.jetty.server.HttpChannel.handle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 08:00 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerНачал интересоваться play фреимворком. Где-то зацепил мысль, что там внутри нет сервлетов. А как тогда это может работать? Ну то есть есть html страница, есть java код. Как они ещё могут быть связаны как не через сервлеты? Там либо это либо это Alexey TominquestionerНачал интересоваться play фреимворком. Где-то зацепил мысль, что там внутри нет сервлетов. А как тогда это может работать? Ну то есть есть html страница, есть java код. Как они ещё могут быть связаны как не через сервлеты? Не знаю play! ;) но Вы просто не понимаете сути. Приложение слушает порт. Любое приложение может слушать любой порт. При входящем зарпосе на этот порт вызывается некоторые метод. Он должен вернуть ответ. В случае html есть стандарт- что можно получить, что надо отдавать. В java есть стандартная привязка этого к методам с помощью классов HttpServlet и GenericServlet. Но это всё общий подход. Можно использовать что угодно. Более того, чтобы заработал Servlet надо чтобы сервер это обеспечил. См. например org.eclipse.jetty.server.HttpChannel.handle +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 08:06 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin Не знаю play! ;) но Вы просто не понимаете сути. Поэтому и спрашиваю Alexey TominПриложение слушает порт. Любое приложение может слушать любой порт. При входящем зарпосе на этот порт вызывается некоторые метод. Он должен вернуть ответ. Что это более детально значит? Какой механизм позволяет "слушать" порт? что вообще понимается под слушанием? Как труба, на одной стороне которой клиент, а на другой сервер? Alexey Tomin В случае html есть стандарт- что можно получить, что надо отдавать. Что за стандарт? Alexey Tomin В java есть стандартная привязка этого к методам с помощью классов HttpServlet и GenericServlet. Привязка чего? Alexey TominНо это всё общий подход. Можно использовать что угодно. Более того, чтобы заработал Servlet надо чтобы сервер это обеспечил. См. например org.eclipse.jetty.server.HttpChannel.handle Что понимается под сервером? контейнер сервлетов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:18 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
Usmanquestioner, https://playframework.com/documentation/2.6.x/Philosophy#powerful-build-system А Вы сами то читали, что скинули? Из относящегося к вопросу только https://playframework.com/documentation/2.6.x/Philosophy#powerful-build-system it was crucial to providing an asynchronous HTTP API instead of the standard Servlet API По-моему не очень то отвечает на мой вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:40 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
И кстати в чем асинхронность HTTP API ? Там каким то образом сервер шлёт acknowledge клиенту, что обработка запроса начата, а потом, когда обработка завершена, каким-то хитрым способом доставляет данные на клиент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:45 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerА как тогда это может работать? Ну то есть есть html страница, есть java код. Как они ещё могут быть связаны как не через сервлеты? Какой смешной вопрос. Есть Java - язык программирования общего назначения. Есть HTTP - текстовый протокол передачи данных по TCP. PHP вот как-то умудряется работать без сервлетов. А в .NET там ещё страшнее... Даже HTTP сервер "не нужен". Сразу HttpListener лепят. И почему-то тоже без сервлетов. Кстати, Jetty умеет работать без сервлетов. Это из популярного. А вот ещё из невероятного: JAX-WS работает без сервлетов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:51 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerИ кстати в чем асинхронность HTTP API ? В чем асинхронность HTTP API, который использует Play framework? Или в чем вопрос? questionerТам каким то образом сервер шлёт acknowledge клиенту, что обработка запроса начата, а потом, когда обработка завершена, каким-то хитрым способом доставляет данные на клиент? Callback-ами как обычно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:54 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questioner, https://www.playframework.com/documentation/2.5.x/JavaActions https://www.playframework.com/documentation/2.5.x/JavaAsync ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:56 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerПо-моему не очень то отвечает на мой вопрос.вобщем, используется JBoss Netty сервер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 12:08 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczquestionerА как тогда это может работать? Ну то есть есть html страница, есть java код. Как они ещё могут быть связаны как не через сервлеты? Какой смешной вопрос. Есть Java - язык программирования общего назначения. Есть HTTP - текстовый протокол передачи данных по TCP. PHP вот как-то умудряется работать без сервлетов. А в .NET там ещё страшнее... Даже HTTP сервер "не нужен". Сразу HttpListener лепят. И почему-то тоже без сервлетов. Кстати, Jetty умеет работать без сервлетов. Это из популярного. А вот ещё из невероятного: JAX-WS работает без сервлетов! Хм, и как мне теперь с этим жить? сервлеты это просто обёртка над http, лишающая последний набора фичей ? BlazkowiczВ чем асинхронность HTTP API, который использует Play framework? Или в чем вопрос? Да, в чем асинхронность HTTP API, который использует Play framework? BlazkowiczКстати, Jetty умеет работать без сервлетов Ничоси. а как? BlazkowiczquestionerТам каким то образом сервер шлёт acknowledge клиенту, что обработка запроса начата, а потом, когда обработка завершена, каким-то хитрым способом доставляет данные на клиент? Callback-ами как обычно. А обычно для каких ситуаций? Моё представление о HTTP Есть клиент, есть сервер. Клиент шлёт запрос, висит пока сервер не ответил. Сервер принимает запрос, обрабатывает его, отправляет ответ клиенту клиент получает ответ, отвисает. В случае с веб сокетами насколько я понимаю всё иначе. шлём хоть от клиента серверу, хоть от сервера клиенту - всё одно. Никто не блокируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 12:15 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczquestionerИ кстати в чем асинхронность HTTP API ? В чем асинхронность HTTP API, который использует Play framework? Или в чем вопрос? А это асинхронное http api над синхронным http ? Пример может какой-то жизненный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 12:33 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerсервлеты это просто обёртка над http, лишающая последний набора фичей ? JEE sucks. questionerДа, в чем асинхронность HTTP API, который использует Play framework? В реализации. questionerНичоси. а как? Хэндлеры questionerА обычно для каких ситуаций? Для реализации асинхронных API callback - обычная практика. questionerМоё представление о HTTP Есть клиент, есть сервер. Клиент шлёт запрос, висит пока сервер не ответил. Сервер принимает запрос, обрабатывает его, отправляет ответ клиенту клиент получает ответ, отвисает. В случае с веб сокетами насколько я понимаю всё иначе. шлём хоть от клиента серверу, хоть от сервера клиенту - всё одно. Никто не блокируется. Ты путаешь Java API для работы с HTTP и возможности специфицированые для HTTP протокола. В случае playframework речь идёт только об API, а не о возможностях протокола HTTP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 12:53 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerА это асинхронное http api над синхронным http ? Для старых версий - да. Для новых может уже чего-то придумали. questionerПример может какой-то жизненный? В смысле? Создали новый поток. Запустили туда ожидание Http отклика. Вернули управление вызывающему коду. Вуаля! Асинхронный API готов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 12:57 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerBlazkowiczпропущено... В чем асинхронность HTTP API, который использует Play framework? Или в чем вопрос? А это асинхронное http api над синхронным http ? Пример может какой-то жизненный? Абстрагируйтесь от HTTP. Представьте, что вам надо передать файл для обработки какой-то внешней системе, а она должна его обработать и результаты вернуть вам в другом файле. Ваша программа кладет файл "request.txt" на диск, подписывается средствами OS на событие появления файла "response.txt", и занимается другими задачами. Как только внешняя система обработает request.txt, она кладет на диск файл response.txt, после чего OS вызывает событие, по которому отрабатывает код в вашей программе (возможно, совсем не в том потоке, который клал request). Никто не ждет, пока обработается файл. Вот вам и асинхронность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 13:47 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczquestionerА это асинхронное http api над синхронным http ? Для старых версий - да. Для новых может уже чего-то придумали. questionerПример может какой-то жизненный? В смысле? Создали новый поток. Запустили туда ожидание Http отклика. Вернули управление вызывающему коду. Вуаля! Асинхронный API готов. Это для случая если мне из моего сервера надо сделать http запрос на другой сервер? Я как-то себе представлял, что речь идёт о том, что сервер принимает запросы. Какого отклика мы можем ждать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 13:55 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerХм, и как мне теперь с этим жить? сервлеты это просто обёртка над http, лишающая последний набора фичей ? )) у тебя прям синдром вади. Который любит чистый код нижнего уровня. Сервлет это кусок Java строчек с кодом. Так вроде пишут в первом классе. И не мешай тут твою любимую многопоточность. Она только мешает разглядеть главное). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 14:13 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questioner, Разговор опять сводится к "мне не понятно". Давай конкретные вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 14:18 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questioner, Попробуй написать простой TCP сервер (используя java.net.ServerSocket) и добейся того, чтобы запросы обрабатывались параллельно а не по очереди. Многие вопросы тогда отпадут сами собой, в т/ч и про асинхронность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 14:56 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
UsmanquestionerПо-моему не очень то отвечает на мой вопрос.вобщем, используется JBoss Netty сервер https://www.playframework.com/documentation/2.6.x/Server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 15:55 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerИз относящегося к вопросу только https://playframework.com/documentation/2.6.x/Philosophy#powerful-build-system it was crucial to providing an asynchronous HTTP API instead of the standard Servlet API По-моему не очень то отвечает на мой вопрос. На мой взгляд эта строчка совершенно полностью отвечает на Ваш вопрос, поставленный в первом сообщении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 16:07 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
Alexey TominВ случае html есть стандарт- что можно получить, что надо отдавать. html это больше рекомендации w3c, тут наверное имелось ввиду протокол http1.1 например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 16:45 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerBlazkowiczпропущено... Для старых версий - да. Для новых может уже чего-то придумали. пропущено... В смысле? Создали новый поток. Запустили туда ожидание Http отклика. Вернули управление вызывающему коду. Вуаля! Асинхронный API готов. Это для случая если мне из моего сервера надо сделать http запрос на другой сервер? Я как-то себе представлял, что речь идёт о том, что сервер принимает запросы. Какого отклика мы можем ждать? на пальцах если, оно работает так: клиент запросил, сервер принял и считает, клиент ждет ответа, сервер отдает ответ, соединение закрывается - это обычное синхронное. асинхронное работает так: клиент запросил, сервер принял и ответил Ок (или Ошибка) и закрыл соединение, потом только начал считать. далее может быть два варианта: 1) клиент периодически запрашивает сервер - как там моя задача, сервер отвечает или результатом счета, или кодом типа "пока считаю", "ошибка" и т.п. Такое обычно называют polling. 2) клиент поднимает у себя свой собственный сервер (листен сокет), при запросе передает серверу свой адрес и слушает на нем ответ от сервера. Когда сервер заканчивает считать, он подключается к тому клиентскому "серверу" и отдает туда ответ. Про такое говорят, что работает через callback. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 06:27 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
Юрий321questionerпропущено... Это для случая если мне из моего сервера надо сделать http запрос на другой сервер? Я как-то себе представлял, что речь идёт о том, что сервер принимает запросы. Какого отклика мы можем ждать? на пальцах если, оно работает так: клиент запросил, сервер принял и считает, клиент ждет ответа, сервер отдает ответ, соединение закрывается - это обычное синхронное. асинхронное работает так: клиент запросил, сервер принял и ответил Ок (или Ошибка) и закрыл соединение, потом только начал считать. далее может быть два варианта: 1) клиент периодически запрашивает сервер - как там моя задача, сервер отвечает или результатом счета, или кодом типа "пока считаю", "ошибка" и т.п. Такое обычно называют polling. 2) клиент поднимает у себя свой собственный сервер (листен сокет), при запросе передает серверу свой адрес и слушает на нем ответ от сервера. Когда сервер заканчивает считать, он подключается к тому клиентскому "серверу" и отдает туда ответ. Про такое говорят, что работает через callback. Че правда что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 07:50 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39428907&tid=2123021]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 452ms |

| 0 / 0 |
