|
|
|
Как 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 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
dimonz80, ну я вобщем не про скалу, а про клиент-сервер поверх http а что, в скале выдумали свой свой собственный хттп и там теперь по другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 08:01 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
Юрий321dimonz80, ну я вобщем не про скалу, а про клиент-сервер поверх http а что, в скале выдумали свой свой собственный хттп и там теперь по другому? У ТС вопрос был про асинхронность в Play Framework, т.е. с серверной стороны. А вы начали про клиентские штуки, которые немного не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 08:34 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
Юрий321dimonz80, ну я вобщем не про скалу, а про клиент-сервер поверх http Не нравится скала, вот про java))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 08:35 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
dimonz80Юрий321dimonz80, ну я вобщем не про скалу, а про клиент-сервер поверх http Не нравится скала, вот про java))) Упс! Поторопился ))) Не нравится скала, вот про java))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 08:37 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczquestioner, Разговор опять сводится к "мне не понятно". Давай конкретные вопросы. Есть клиент, есть сервер. Клиент шлёт запрос на сервер, сервер в новом потоке начинает обработку запроса. Зачем делать в это в новом потоке мне непонятно потому что все равно надо будет ждать когда задача в новом потоке закончится. Или асинхронность в другом чем то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 09:55 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questioner, questionerсервер в новом потоке начинает обработку запроса. Зачем делать в это в новом потоке сервер один, а запросов миллион. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 09:58 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerИли асинхронность в другом чем то? 20349257 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 10:09 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerBlazkowiczquestioner, Разговор опять сводится к "мне не понятно". Давай конкретные вопросы. Есть клиент, есть сервер. Клиент шлёт запрос на сервер, сервер в новом потоке начинает обработку запроса. Зачем делать в это в новом потоке мне непонятно потому что все равно надо будет ждать когда задача в новом потоке закончится. Или асинхронность в другом чем то? Попробую рассказать... Самый простой случай Тривиальный сервер 0) Запускаем основной процесс/поток (main) 1) main cлушает порт 2) При соединении клиента работает с клиентом (читает и пишет в сокет) 3) Goto п.1 Такой сервер может обслуживать только одного клиента за раз. Остальные - в очередь. Классический сервер 0) Запускает основной процесс/поток (main) 1) main cлушает порт 2) При соединении клиента форкает себя (как httpd или postgresql например) или создает thread (или берет из пула). 3) В новом созданном процессе/потоке работает с клиентом (читает и пишет в сокет) 4) параллельно п.3 основной поток (main) продолжает слушать порт пока не случится п.2 (goto п.1) Такой сервер обслуживает пачку клиентов одновременно. Он по большому счету уже асинхронный. Однако сейчас принято считать что асинхронный сервер это тот, который в потоке из п.2 ничего не ждет а просто вычитывает данные из сокета и передает их для обработки в другой поток, который после обработки сам ответит клиенту. Такой сервер работает приверно так: 0) Запускает основной процесс/поток (main) 1) main cлушает порт 2) При соединении клиента берет thread из пула 3) В полученном потоке вычитывает данные из сокета и передает из другому потоку (опционально полученному из другого пула), который будет тупить, ждать IO и в отдаленном будущем ответит клиенту. Сам же поток из п.2 сразу возвращается в пул для обслуживания других запросов 4) параллельно п.3 основной поток (main) продолжает слушать порт пока не случится п.2 (goto п.1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 11:03 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
dimonz80Самый простой случай Тривиальный сервер 0) Запускаем основной процесс/поток (main) 1) main cлушает порт 2) При соединении клиента работает с клиентом (читает и пишет в сокет) 3) Goto п.1 Такой сервер может обслуживать только одного клиента за раз. Остальные - в очередь. А как будет поддерживаться очередь? сервер либо ждёт подключения от клиента, либо, если таковое есть, занимается обработкой этого соединения и соответственно не может слушать К ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 11:52 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
dimonz80 Классический сервер 0) Запускает основной процесс/поток (main) 1) main cлушает порт 2) При соединении клиента форкает себя (как httpd или postgresql например) или создает thread (или берет из пула). 3) В новом созданном процессе/потоке работает с клиентом (читает и пишет в сокет) 4) параллельно п.3 основной поток (main) продолжает слушать порт пока не случится п.2 (goto п.1) Такой сервер обслуживает пачку клиентов одновременно. Он по большому счету уже асинхронный. В моём представлении всякие джетти/томкаты так и работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 11:54 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerdimonz80Самый простой случай Тривиальный сервер 0) Запускаем основной процесс/поток (main) 1) main cлушает порт 2) При соединении клиента работает с клиентом (читает и пишет в сокет) 3) Goto п.1 Такой сервер может обслуживать только одного клиента за раз. Остальные - в очередь. А как будет поддерживаться очередь? ОС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 12:13 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerdimonz80 Классический сервер 0) Запускает основной процесс/поток (main) 1) main cлушает порт 2) При соединении клиента форкает себя (как httpd или postgresql например) или создает thread (или берет из пула). 3) В новом созданном процессе/потоке работает с клиентом (читает и пишет в сокет) 4) параллельно п.3 основной поток (main) продолжает слушать порт пока не случится п.2 (goto п.1) Такой сервер обслуживает пачку клиентов одновременно. Он по большому счету уже асинхронный. В моём представлении всякие джетти/томкаты так и работают. Тогда непонятно, что непонятно)))) Так работают все TCP серверы. Пресловутая асинхронность добавляет лишь еще одни уровень распараллеливания, чтобы быстрее высвобождать потоки, непосредственно обслуживающие соединения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 12:17 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
dimonz80Тогда непонятно, что непонятно)))) +1 ТС не play изучает, а работу контейнера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 12:19 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
dimonz80questionerпропущено... В моём представлении всякие джетти/томкаты так и работают. Тогда непонятно, что непонятно)))) Так работают все TCP серверы. Пресловутая асинхронность добавляет лишь еще одни уровень распараллеливания, чтобы быстрее высвобождать потоки, непосредственно обслуживающие соединения. А play приложение крутится на чем? оно ведь тоже во что-то пакуется наверное и куда-то деплоится. А как обычные сервлеты мешают этому дополнительному слою асинхронности? Или что-то из коробки добавляется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 13:40 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerdimonz80пропущено... Тогда непонятно, что непонятно)))) Так работают все TCP серверы. Пресловутая асинхронность добавляет лишь еще одни уровень распараллеливания, чтобы быстрее высвобождать потоки, непосредственно обслуживающие соединения. А play приложение крутится на чем? оно ведь тоже во что-то пакуется наверное и куда-то деплоится. А как обычные сервлеты мешают этому дополнительному слою асинхронности? Или что-то из коробки добавляется? Play по дефолту никуда не пакуется. Play сам себе сервер. Там выше были ссылки с указанием, что используется под капотом (Netty или akka.http). При желании можно собрать war (есть плагин) для деплоя в сервлет-контейнере. Сервлеты с версии 3 вроде как умеют в асинхронность. Все эти серверы (как сервлет контейнеры так и и остальные) принципиально ничем не отличаются. Сначала пишем обработчик для запроса в виде колбека, сервлета, хендлера или как его там назовут авторы очередного фреймворка, мапим его на URL и все! Сервлет-контейнеры выделяются среди всего этого лишь наличием спецификации от Sun/Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 13:56 |
|
||
|
Как play работает без сервлетов?
|
|||
|---|---|---|---|
|
#18+
questionerdimonz80пропущено... Тогда непонятно, что непонятно)))) Так работают все TCP серверы. Пресловутая асинхронность добавляет лишь еще одни уровень распараллеливания, чтобы быстрее высвобождать потоки, непосредственно обслуживающие соединения. А play приложение крутится на чем? оно ведь тоже во что-то пакуется наверное и куда-то деплоится. А как обычные сервлеты мешают этому дополнительному слою асинхронности? Или что-то из коробки добавляется? tomcat, jetty реализуют спецификацию servlet api. По сути спецификация это описание того как url мапится на код который должен выполниться и как туда данные передать и получить. Знаешь servlet api значит можешь сделать приложение которое будет работать на любом контейнере с поддержкой servlet api. Стандарт ёпта. Легче найти разрабов, ибо тыщи их. Почти каждый в этой ветке наверняка работал с сервлетами. разработчики play сначала подумали а затем и вслух сказали " Мы сами себе господа " и написали свой сервер со своим api не забыв упомянуть о том что их сервер ассинхронный. Хочешь написать веб приложение play То развернуть получится только на их сервере ибо только он знает этот api ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 15:39 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2123021]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
98ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 442ms |

| 0 / 0 |
