Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Как правильно поделить логику и вид?


Автор: freshAngel 25.11.2010, 22:28
Привет.
Запутался в рассуждениях.......
Хорошим стилем в написании web - приложений является отделение вида от бизнес логики.
Пишу гостевую книгу.
Данные (имя, почта, сообщение) заполняются в полях на JSP странице, по нажатии кнопки идет обращание к сервлету,
который записывает все в БД.
А как вывести уже оставленные сообщения.
Еще раз обратиться к другому сервлету, который будет отвественный за вывод сообщений?
Или лучше сделать вывод сообщений в самом JSP?
Но тогда получается опять совмещаем вид и логику!
И где лучше разместить методы подключения к БД:
библиотеки, каждый сервлет сам реализует подключение и отключение от БД или опять все реализовывать в JSP?

Автор: SlavaSemushin 26.11.2010, 08:03
Я бы реализовал это следующим образом:

1. страница /show_form.jsp отображает форму для ввода сообщения
2. сервлет для добавления сообщения (/message/add)
3. сервлет для получения всех сообщений, который помещает их в request scope (/messages/show)
4. страница для отображения всех сообщений (/show_messages.jsp)

И тогда выглядело бы это следующим образом:

клиент -- GET --> show_form.jsp -- POST --> /message/add -- redirect --> /messages/show -- forward -> /show/messages.jsp

Здесь логика в сервлетах, а view в JSP-страницах.

(На самом деле я бы сделал иначе -- просто использовал Spring MVC, где всё тоже самое плюс много чего ещё за вас сделает Spring ;) )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)