![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Kotakota |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 14.12.2010 Репутация: нет Всего: нет |
Привет.
Начинаю изучать JAVA EE. Такой вопрос. Пишу гостевую книгу. Поделил ее на 2 составные части: 1. Форма добавления сообщения. Ну тут все вроде понятно. Делаю так:
Обычная форма, которая потом вызывает сервлет, который добавляет сообщение в БД. 2. Вывод оставленных сообщений. Вот тут застрял ![]() Как я думаю это должен быть еще один сервлет, который будет выводить сообщения из бд. (например будет передовать массив записей в JSP). Вопрос как к нему подключиться, чтобы он передал массив сообщений. Тег <FORM> тут уже не используешь. ![]() В дополнение прилагаю графическое описание моих мыслей. ![]() |
|||
|
||||
dobrolub |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 4 Всего: 16 |
Ответ на такой вопрос может быть достаточно объёмным, но кратенько так:
Сервлет вызывается либо напрямую, либо с помощью <jsp:include page="/messages"/>. Обычно сервлет достаёт данные из базы и кладёт их в request. Пример:
в jsp, можно использовать jstl (псевдо код)
Это сообщение отредактировал(а) dobrolub - 14.12.2010, 21:32 |
||||
|
|||||
Kotakota |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 14.12.2010 Репутация: нет Всего: нет |
Можно пример вызова напрямую? А <jsp:useBean> не подойдет? Слышал, что JavaBean компоненты не могут реализовывать логику и выступать в роли контроллера. |
|||
|
||||
dobrolub |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 4 Всего: 16 |
Прямой вызов сервлета - из браузера, по url замапленному к этому сервлету.
К вопросу о jsp:useBean: да, конечно можно. Вы посмотрите ещё на различные tutorials по веб приложениям. Это сообщение отредактировал(а) dobrolub - 14.12.2010, 22:19 |
|||
|
||||
Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 2 Всего: 16 |
Kotakota, если говорить о том, как делать правильно, то JSP вообще не должен содержать никакой бизнес-логики - только средства отображения. Вся бизнес-логика должна быть в сервлете. Он получает ВСЕ запросы, разбирает их, определяет необходимые действия, выполняет их, и потом делает forward на нужный JSP. При этом в request уже положены все данные для формирования страницы. Так что не сервлет должен вызываться из JSP, а наоборот.
|
|||
|
||||
Kotakota |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 14.12.2010 Репутация: нет Всего: нет |
Уважаемый Skipy. Но ведь при загрузке страницы, первоначально вызывается *.jsp. Или нужно вызывать сервлет контроллер, прописанный, например в web.xml? А он в свою очередь будет вызывать необходимое представление в *.jsp странице? Еще такой вопрос. Например, вызвал сервлет, который подключил файл *.jsp формы ввода сообщения и *.jsp вывода всех сообщений. Добавляю новое сообщение... Вызывается сервлет который добавляет сообщение. А потом из сервлета добавления сообщения вызываем.... Какой сервлет вызвать, чтобы снова показать гостевую книгу? А если еще и постраничная разбивка будет.... Я запутался какой сервлет когда вызывать и в связях между ними..... ![]() Это сообщение отредактировал(а) Kotakota - 15.12.2010, 14:11 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |