|
|
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
Добрый вечер. Такой вопрос по архитектуре приложения. Имеем: Сервер glassfish. Приложение состоит из сервлета, страницы jsp, session bean и entity bean. 1. Entity bean описывает структуру объекта для работы с БД. 2. Session Bean - является фактически АПИ к Entity Bean. Наподобие пакета PL/SQL как обычно в Oracle делают. В нем запросы на получение объектов из базы и методы для создания/редактирования этих объектов. 3. Есть сервлет, вся задача которого отреагировать на http запрос, получить из него параметры и передать данные в jsp страницу. 4. Есть jsp страница, которая по сути является только мордой для отображения данных. Логики в ней никакой нет. Вся работа начинается с сервелета. Он инициализирует EJB контейнер Код: java 1. 2. и кладет в сессию объект Код: java 1. затем делает форвард на jsp страницу Код: java 1. 2. В этой jsp мы получаем объект test и далее работает с ним внутри jsp. Фактически дергая методы session bean. Код: java 1. 2. Вопрос простой - правильно ли так делать? Как обычно поступают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2012, 22:30:22 |
|
||
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
И это вы называете нет логики в jsp? Страшно представить страницу где по вашему мнению есть логика.. Это так лирика. 1) Не кладите ejb в сессию - ejb это зачастую прокси, который управляется контейнером, со всеми вытекающими. 2) Зачем вы так извращаетесь с форвард? Зачем в конце концов jsp? Прикрутить spring mvc и какой-нибудь freemarker 10минутное дело. Там у вас будет Controller, в который инжектится ejb(кстати зачем ejb я уже спрашивал?), выполняется метод ejb, данные ложатся во ViewMap, далее через EL-выражения они доступны на странице. Вот он MVC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2012, 22:41:18 |
|
||
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
забыл ник, У меня нету спринга тут. Только гласфиш и EJB3. В jsp нет никакой логики по управлению объектом. Она только отображает и передает данные. Как объект хранится, как выбирается, как проверяется перед сохранением - этого в джиэспи же нет. А как обычно поступают если все таки речь о связке JSP+EJB+JPA ? Controller в freemarker это же по сути сервлет? А ViewMap это разве не оболочка над хранением параметров в сессии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2012, 23:04:50 |
|
||
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
забыл ник Зачем в конце концов jsp? нужно чтобы хтмл с данными из базы скрестить. jsf тут нет. остальное тоже пока не доступно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2012, 23:07:24 |
|
||
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
КореецА как обычно поступают если все таки речь о связке JSP+EJB+JPA ? 1. сервлет вызывает test.getName() 2. результат сохраняет в атрибутах чего-нибудь (сессии, запроса, ...) 3. jsp использует атрибут из чего-нибудь (сессии, запроса, ...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2012, 23:08:19 |
|
||
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
Кореецjsf тут нета четоза версия такая глассфиша? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2012, 23:09:06 |
|
||
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
забыл ник1) Не кладите ejb в сессию - ejb это зачастую прокси, который управляется контейнером, со всеми вытекающими. А можно поподробней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2012, 23:13:52 |
|
||
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
grasoff.netКореецjsf тут нета четоза версия такая глассфиша? версия 3. в самом проекте просто не используется. я понимаю что может быть все это устарело и для вас дико выглядит, но связка именно такая. мой опыт тоже пока не позволяет так вот сходу переключится на jsf или что то более крутое. я с другой технологии на это все перехожу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2012, 23:16:12 |
|
||
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
grasoff.netКореецА как обычно поступают если все таки речь о связке JSP+EJB+JPA ? 1. сервлет вызывает test.getName() 2. результат сохраняет в атрибутах чего-нибудь (сессии, запроса, ...) 3. jsp использует атрибут из чего-нибудь (сессии, запроса, ...) спасибо. т.е. работаем на уровне простых типов? просто мне показалось что проще сразу сессионный бин в страницу кинуть, а там уже один раз взяв его из сесии потом дергать его методы как угодно. хотя наверно криво да. он же не только запросы делает но и сам объект редактирует. хм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2012, 23:20:14 |
|
||
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
Кореец, там смысл был просто в том чтобы страницу нужными бинами инициализировать и потом не нагружать сам сервлет. Дизайн страницы меняется гораздо чаще и если в ней будет доступен сразу сессионный бин то многие вещи можно будет делать не трогая сервлеты. ну конеяно если они не касаются редактирования объекта а только отображения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2012, 23:22:44 |
|
||
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
Корееци потом не нагружать сам сервлеттогда и сервлет не нужен ))) Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2012, 00:21:13 |
|
||
|
доступ к SessionBean из JSP
|
|||
|---|---|---|---|
|
#18+
grasoff.net, вы правы наверно. jsp оно же и есть по сути сервлет. компилится в него. ладно ок. а что лучше использовать тогда для обычной веб странички? Без сложного JS и т.п. Wicket? GWT можно использовать совместо с Wicket или чем то подобным в рамках одной страницы?(ну может быть как фрейм на ней?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2012, 00:36:47 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37922282&tid=2131119]: |
0ms |
get settings: |
17ms |
get forum list: |
25ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
45ms |
get topic data: |
22ms |
get forum data: |
5ms |
get page messages: |
90ms |
get tp. blocked users: |
3ms |
| others: | 328ms |
| total: | 551ms |

| 0 / 0 |
