Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сделать сайтик: технология 
:(
    Опции темы
nerezus
Дата 22.3.2007, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Люди, вопрос. Предположим, надо сделаь сайтик, который работает под нагрузкой.

При этом желательно, чтобы каждый запрос не обрабатывался в своем процессе(как в пхп), т.е. чтобы была у нескольких запросов общая память(например, хранить кеш, хендл для БД и т.д.)

Какую технологию использовать?
Цель тут: не только сделать сабж, но и въехать в J2EE.

И еще: сайтик должен держать нагрузку, под него будет отдельный сервер(как минимум). Как джава держит нагрузку по сравнению с тем же пхп(nginX, fastcgi, PHP)?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Tony
Дата 22.3.2007, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Код

При этом желательно, чтобы каждый запрос не обрабатывался в своем процессе(как в пхп), т.е. чтобы была у нескольких запросов общая память(например, хранить кеш, хендл для БД и т.д.)

Запросы в й2ее не рожают отдельный процесс.
Есть контексты: SessionContext, ServletContext, RequestContext, PageContext. В каторых хранят какието данные.По принципу ключ - значение.
Код

Какую технологию использовать?

Их много. На4иная от 4истого ejb до фреймворков (jsf,struts,webwork...) + DB ORM(Hibernate)
Код

И еще: сайтик должен держать нагрузку, под него будет отдельный сервер(как минимум). Как джава держит нагрузку по сравнению с тем же пхп(nginX, fastcgi, PHP)?

Eщё как держит.  smile 


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
tux
Дата 22.3.2007, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(nerezus @  22.3.2007,  14:42 Найти цитируемый пост)

При этом желательно, чтобы каждый запрос не обрабатывался в своем процессе(как в пхп), т.е. чтобы была у нескольких запросов общая память(например, хранить кеш, хендл для БД и т.д.)

Обрабатывать все запросы одним потоком можно используя deprecated SingleThreadModel, это мягко говоря не рекомендуется. В общем случае каждый запрос HTTP обрабатывается отдельным потоком. Кэш можно организовать используя статические атрибуты и методы или паттерн Singleton. Соединение с базой данных оычно берется из пула соединений, который либо встроен в конкретный сервер приложений либо либо используется какая-то готовая реализация типа Jakarta DBCP. Вообще все общее, что должны разделять множество потоков, обычно реализуется с помощью Singleton.

Цитата(nerezus @  22.3.2007,  14:42 Найти цитируемый пост)
Какую технологию использовать?

Технологию чего?

Цитата(nerezus @  22.3.2007,  14:42 Найти цитируемый пост)
И еще: сайтик должен держать нагрузку, под него будет отдельный сервер(как минимум). Как джава держит нагрузку по сравнению с тем же пхп(nginX, fastcgi, PHP)? 

Довольно распространена практика перевода сайтов с PHP на Java, об обратном не слышал. Думаю, это говорит само за себя.

Добавлено @ 17:44 
Цитата(Tony @  22.3.2007,  17:39 Найти цитируемый пост)
Запросы в й2ее не рожают отдельный процесс.

Каждый запрос обрабатывается отдельным потоком. Другое дело, что веб-контейнер как правило эти потоки не создает каждый раз, а использует пул потоков.
PM MAIL Skype GTalk Jabber YIM   Вверх
AntonSaburov
Дата 22.3.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Хорошо, только надо памяти побольше. И будет вполне пристойно. Работает уже "разогретый" варинат JVM очень прилично по скорости.
PM MAIL WWW ICQ   Вверх
nerezus
Дата 22.3.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Цитата

Технологию чего?
 Сервлеты, джавабинс, jsp и т.д.

Добавлено @ 17:57 
Цитата

только надо памяти побольше
 Просто "побольше", или "побольше, чем пхп"?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
AntonSaburov
Дата 22.3.2007, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Цитата(nerezus @  22.3.2007,  17:50 Найти цитируемый пост)
Просто "побольше", или "побольше, чем пхп"?

Все зависит от нагрузки, но меньше 1 Гига лучше не делать.

И PHP требует (во всяком случае раньше требовал) меньше памяти. Но ее-то как раз не проблема поставить - она теперь дешевая. Не то, что лет 10 назад. Тогда 1 Мб стоил около 50 долларов
PM MAIL WWW ICQ   Вверх
nerezus
Дата 22.3.2007, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Тут нашел пример такой: 
Код

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World!</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World!</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}


Т.е. т.к.синтаксис джавы я знаю, то могу юзать ее.  Но, чую, что без фреймворков почти никто не работает? Я прав?
Сейчас посмотрел примеры - все вроде кристально ясно.

Стоит ли заниматься сервлетами или поискать другую технологию?

Кстати, если я создаю объекты из сервлета, которые записывают ссылку на себя в статик-переменные класса, то такие объекты не удаляются до перезагрузки сервера?



--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
tux
Дата 22.3.2007, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(nerezus @  22.3.2007,  20:23 Найти цитируемый пост)
Но, чую, что без фреймворков почти никто не работает? Я прав?

Абсолютно.

Цитата(nerezus @  22.3.2007,  20:23 Найти цитируемый пост)
Стоит ли заниматься сервлетами или поискать другую технологию?

Технологию сервлетов знать надо хотя бы потому что все фреймворки на них построены и понимать как они работают - это, на мой взгляд, необходимость. А вот писать используя голые сервлеты/JSP, думаю, не имеет большого смысла. Разве что если сам свой фреймворк напишешь, что будет крайне полезно. Правда с нуля врял ли что-то путнее получится, поэтому лучше взять готовый, коих великое множество, на любой вкус и цвет. smile

Цитата(nerezus @  22.3.2007,  20:23 Найти цитируемый пост)
если я создаю объекты из сервлета, которые записывают ссылку на себя в статик-переменные класса, то такие объекты не удаляются до перезагрузки сервера?

Да, не удаляются до перезапуска JVM.
PM MAIL Skype GTalk Jabber YIM   Вверх
nerezus
Дата 22.3.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Спс за советы. А что надо для разработки?
Есть JDK SE 1.6, EE нету, но она нужна? сервлеты же работают вроде?

и еще, какой фреймворк посоветуете?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
JUncle
Дата 22.3.2007, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 6.4.2006
Где: Казань, РФ

Репутация: нет
Всего: 1



Цитата(nerezus @  22.3.2007,  20:50 Найти цитируемый пост)
Есть JDK SE 1.6, EE нету, но она нужна? сервлеты же работают вроде?

Насколько я понял, сейчас тебе EE не нужна.
servlet-api и т.п., не входящее в состав J2SE, поставляется с сервлет-контейнерами/серверами приложений.
--------------------
class JUncle extends Man // singleton{/*...*/}
PM MAIL   Вверх
tux
Дата 22.3.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(nerezus @  22.3.2007,  20:50 Найти цитируемый пост)
А что надо для разработки?

Нужен какой-нибудь веб-контейнер, Tomcat, например,- он самый распространенный и считается эталонной реализацией сервлетов и JSP. Хорошо бы еще IDE, которая поддерживает разработку веб-приложений. Впрочем, и Netbeans и IDEA и Eclipse это умеют, последняя в комплекте с WTP-плагинами.

Цитата(nerezus @  22.3.2007,  20:50 Найти цитируемый пост)
и еще, какой фреймворк посоветуете? 

Это вопрос сложный. Их очень много. Рекомендовал бы Spring, но я думаю с него будет сложно начинать поскольку это не только веб-фреймворк, это гораздо больше. Поэтому лучше взять что-нибудь попроще, например, Maverick или Struts.
PM MAIL Skype GTalk Jabber YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0564 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.