|
|
|
Как работает сервер приложений?
|
|||
|---|---|---|---|
|
#18+
Доброго дня! Известно, что сервер приложений это программа написанная на Java и реализующая спецификацию сервлетов и спецификацию JavaServer Pages (JSP), которые являются стандартами для разработки веб-приложений на Java. Известно это набор классов *.jar... Мне хотелось бы уточнить на самом простом уровне не затрагивая транзакции, сообщения и бизнес логики и т.д. как работает сервер приложений на примере сервлета...оперируя последовательностью действий, как бы... простейший сервлет: public void doGet (HttpServletRequest req, ...Response res) throws ServletException ... { PrintWriter out = null; res.setContentType("text/html"); out = res.getWriter(); ... out.println("<html>") ;} ... вот этот out.println в последовательности веб браузер клиента ( http://.../MyServlet ) - сервер приложений - JVM -веб сервер - ответ клиенту ...поскольку не ясна последовательность не ясна суть сервера приложений...что делают или делает один из его классов при обработке вызова java API: out.println("<html>")... на каком этапе включается его программный интерфейс... Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2007, 17:12:27 |
|
||
|
Как работает сервер приложений?
|
|||
|---|---|---|---|
|
#18+
У, как завернул мощно. На счет терминологии. Обычно то что реализует JSP и сервлеты называют контейнеорм сервлетом. А сервер приложений это реаолизация всего J2EE. ИМХО все ответы на свои вопросы ты бы смог найти в спецификации на сервлеты. Она кстати относительнно простая. Ну а если на пальцах. 1) Браузер посылает запрос на сервер. 2) Сервер получает запрос на сокет. 3) Создает на базе запроса объект Request. 4) Анализирует запрос на предмет того куда его роутить. Не знаю на счет всех серверов, но в томкате все роутится на сервлеты. То есть находится сервлет который должен обработать этот запрос. Основных варианта 3 а) JSP. При первом запросе JSP компилируется в сервлет и все последующие запросы идут на этот сервлет. б) Сервлет прописаный в web.xml в) Внутренний сервлет отвечающий за статический контент. 5) Сервлет по результатам работы генерит заголовки и содержимое отклика. 6) Сервер поемщает заголовки в HTTP отклик и транслирует в него данные созданные серлетом. PrintWriter out это обертка над потоком ввода вывода. Запись в этот поток зачастую на прямую транслируется в HTTP отклик, и когда тсполняется out.println("<html>") - клиент получает эту строку в скором времени. Не знаю точно как там на счет буферизации дело обстоит. Вопрос про включение програмного интерфейса не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2007, 17:26:24 |
|
||
|
Как работает сервер приложений?
|
|||
|---|---|---|---|
|
#18+
До сервлета понятно, спасибо... Да, я спрашивал про принцип функционирования сервера приложений, затронув часть выполнения сервлета и по терминологии так и получается, что это часть сервера приложений, - контейнер (полагаю внутри сервера приложений )...В предположении что сервер приложений это набор классов или API и сервер приложений бывает от Oracle, IBM; Jboss ( не знаю производителя), "Томкат" от "Апачи" т.е. своя реализации классов упакованных jar. На каком этапе включается это API. В 4 пункте Вы пишите, что определился сервлет теперь как бы выполнение передаётся ему. Как здесь взаимодействует какой либо класс(ы) от сервера приложений, когда в работу включается вирт машина Явы... ( По аналогии: чтобы выполнить php4 на веб сервере нужно установить его , чтобы выполнился сервлет на вебсервере нужно установить сервер приложений ) . Грубо говоря: почему выполняется сервлет, что такого специального выполняет часть сервера приложения как контейнер сервлета... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2007, 18:08:52 |
|
||
|
Как работает сервер приложений?
|
|||
|---|---|---|---|
|
#18+
Ну на самом раннем этапе и включается. Ты запускашь сервер. Запускается JVM с программой сервера. Программа вешается на HTTP порт и слушает его. Виртуальная машина здесь работает ВСЕГДА. А не включается на каком-то этапе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2007, 18:19:38 |
|
||
|
Как работает сервер приложений?
|
|||
|---|---|---|---|
|
#18+
OK111 Jboss ( не знаю производителя) хорошо получилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2007, 18:37:00 |
|
||
|
Как работает сервер приложений?
|
|||
|---|---|---|---|
|
#18+
нонче джейбосс - это редхат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2007, 21:36:10 |
|
||
|
Как работает сервер приложений?
|
|||
|---|---|---|---|
|
#18+
y3uнонче джейбосс - это редхат редхат - это федора, федора - это все, все - это никто, вывод JBoss - ничей :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2007, 21:46:38 |
|
||
|
Как работает сервер приложений?
|
|||
|---|---|---|---|
|
#18+
Kachalov редхат - это федора редхат - это редхат, жбосс - часть редхата, а точнее - часть application stack, интегренного в шапку. федора - это комьюнити ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2007, 13:44:55 |
|
||
|
Как работает сервер приложений?
|
|||
|---|---|---|---|
|
#18+
Deadyфедора - это комьюнити - вообще то это была шутка, но если речь идет о комюнити, то и JBoss - это комюнити , т. е. он общий, а общий - это ничей :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2007, 14:22:45 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2145776]: |
0ms |
get settings: |
14ms |
get forum list: |
23ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
56ms |
get topic data: |
20ms |
get first new msg: |
12ms |
get forum data: |
5ms |
get page messages: |
80ms |
get tp. blocked users: |
3ms |
| others: | 279ms |
| total: | 502ms |

| 0 / 0 |
