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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Pattern для Web приложения 
:(
    Опции темы
v2v
Дата 16.1.2008, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 9
Всего: 56



Итак, допустим, есть веб приложение (сайт) доступ на который возможен только для зарегистрированных пользователей. Сайт предоставляет для просмотра какой то набор данных плюс позволяет редактировать (удалять, добавлять) новые данные. допустим всё это будет на jsp страничках с использованием jstl. получается 4 - 5 страничек (не так уж много для начала).
но вопрос как это всё лучше всего организовать (какой шаблон использовать) ??

прочитал про шаблон FrontController, вроде подходит, но есть ли какой то другой более оптимальный вариант для моего случая? буду благодарен за любую полезную информацию.

про фреймворки не писать/я их использовать не буду! 
j2ee core + patterns only!




--------------------
PM   Вверх
batigoal
Дата 17.1.2008, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



В первую очередь - MVC.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
SuperFly
Дата 17.1.2008, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(v2v @  16.1.2008,  23:21 Найти цитируемый пост)
про фреймворки не писать/я их использовать не буду! 

Хех, в полку прибыло ^_^ а я уж думал это антинаучно. Слава богу Stampede человек авторитетный, в своем туториале обходился без всякого рода клея, может вам его почитать?
На самом деле там использовались JPA в качестве Model, Velocity в качестве View, а в качестве Controller свой FrontController и обработчики сценариев Worker'ы, всё.
PM   Вверх
v2v
Дата 17.1.2008, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 9
Всего: 56



хотелось бы обойтись и без сторонних библиотек.
поповоду темы stampede: там так много .... уже несколько раз начинал читать, доходил максимум до второго релиза )...

Цитата(batigoal @  17.1.2008,  09:40 Найти цитируемый пост)
В первую очередь - MVC. 

как мне связать jsp - view и данные.
вариант проверки и записиывание в аттрибуты сессии нужных данных в контроллере,  а затем на страничке просто считывание нужных аттрибутов?


--------------------
PM   Вверх
batigoal
Дата 17.1.2008, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



В страничке можно использовать бины. Например, бин - список людей (MembersList). Ну а в выводе, соответственно, итерировать по этому списку и выводить данные о пользователях.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
v2v
Дата 17.1.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 9
Всего: 56



ну собственно я про это и спрашиваю.
как мне передать бины на страничк? 
из странички вызывать контроллер, который получает memberList !?
или в контролере создавать атрибут memberList и далее вызывать нужную страничку, которая работает с атрибутами!?

вопрос поставлю по другому какую книгу почитать по сабжу.(так что бы её можно было найти напр. тут pdfchm.com)


--------------------
PM   Вверх
batigoal
Дата 17.1.2008, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



Цитата(v2v @  17.1.2008,  14:45 Найти цитируемый пост)
как мне передать бины на страничк? 

Смотря на какую страничку. У JSP это директива useBean, у JSF - не знаю.

Цитата(v2v @  17.1.2008,  14:45 Найти цитируемый пост)
вопрос поставлю по другому какую книгу почитать по сабжу

Можно почитать туториал по J2EE, но эта книга не очень-то заморачивается вопросом написания "правильных" веб-приложений.

Это сообщение отредактировал(а) batigoal - 17.1.2008, 16:26


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
v2v
Дата 17.1.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 9
Всего: 56



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

(опять таки интересуют вопросы правильного построения без использования фреймворков)

Это сообщение отредактировал(а) v2v - 17.1.2008, 23:41


--------------------
PM   Вверх
batigoal
Дата 17.1.2008, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



От скриптлетов действительно нужно избавиться. Это всё можно сделать тегами.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
v2v
Дата 17.1.2008, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 9
Всего: 56



Цитата(batigoal @  17.1.2008,  23:35 Найти цитируемый пост)
От скриптлетов действительно нужно избавиться. Это всё можно сделать тегами. 

предыдущий пост я заменил... читать его 


--------------------
PM   Вверх
olegrolik
Дата 17.1.2008, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(v2v @ 17.1.2008,  13:45)
вопрос поставлю по другому какую книгу почитать по сабжу.(так что бы её можно было найти напр. тут pdfchm.com)


Присоединяюсь. Сам хотел создать подобный топик. Тоже хочу сделать движок для сайта. 
Читал тему "JSP - с чего начать". Не нравится JPA и Hibernate, Velocity устраивает.
Может у кого-то есть пример небольшого сайта, написанного на Java, где обязательно есть авторизация, реализованная через форму?
PM MAIL   Вверх
v2v
Дата 17.1.2008, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 9
Всего: 56



Цитата(olegrolik @  17.1.2008,  23:44 Найти цитируемый пост)

Может у кого-то есть пример небольшого сайта, написанного на Java, где обязательно есть авторизация, реализованная через форму? 

это действительно не сложно делается, сдам последний экзамен на сесии и постараюсь такй примерчик сделать с описанием.

вопрос про производительность в силе!

Это сообщение отредактировал(а) v2v - 17.1.2008, 23:55


--------------------
PM   Вверх
batigoal
Дата 18.1.2008, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



Цитата(olegrolik @  18.1.2008,  00:44 Найти цитируемый пост)
Не нравится JPA и Hibernate

Почему? По-моему, это одна из лучших вещей, появившаяся в программировании за последние годы.


Цитата(v2v @  17.1.2008,  19:32 Найти цитируемый пост)
что то типо новостного сайта или форума с большими постами ), т.е. каждому пользователю формируется (почти) одинаковые данные. 
что необходимо учитывать , что-бы максимально выиграть в производительности? 

Кеширование, в первую очередь. Не нужно на каждых чих лазить в базу, если данная статья с высокой степенью вероятности понадобится почти каждому пользователю. То же относится и к разного рода служебной информации, которая по-любому будет нужна (например, счетчик статей на ресурсе, облако тегов или еще что-нибудь).

Еще стоит посмотреть на пулы соединений - может, пригодится.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
v2v
Дата 18.1.2008, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 9
Всего: 56



я не большой знаток кеширования, поэтому непонятно как оно будет выыглядеть? создаются дополнительные таблици в базе данных и туда складываются готовые странички? ... хм... за счёт потери в памяти, можно немного преуспеть в производительности .... но не сильно... если например учитывать что контент будет хранится в бд уже в форматированном виде ( со всеми тегами ).

есть какие то механизмы кеширования. подскажите куда смотреть?


--------------------
PM   Вверх
Stampede
Дата 18.1.2008, 06:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Цитата(v2v @  17.1.2008,  08:32 Найти цитируемый пост)
что необходимо учитывать , что-бы максимально выиграть в производительности? 


А скажи, для чего тебе выигрывать в производительности?

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

Вариант с кэшированием готовых страниц я бы вообще не рассматривал, поскольку это сразу ограничивает тебя в динамических возможнотях. Например, ты уже не сможешь показывать посетителям персонализированный контент, а это для развития сайта далеко не последняя вещь.

Если хочешь примеров - могу привести.

В общем, предлагаю подумать, нужно ли тебе это выжимание производительности и какую цену (в том числе в терминах пожервованной функциональности) ты готов за это заплатить.


--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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