2016-06-11 2 views
0

Я не смог ответить на эти 2 вопроса в письменном интервью, которое у меня было, могут ли мне все помочь?JSP Интервью, как передавать данные с сервлета на JSP?

ВОПРОС 1) Предположим, вы хотите, чтобы сервлет передавал постоянные данные на страницу JSP, так что разные пользователи получают разные данные, какое из следующих предложений верно?

--a) Вы можете использовать инструкцию: request.getSession(). SetAttribute (E, F); Страница JSP будет читать информацию, используя действие jsp: useBean с scope = "page" и id = "E".

- b) Вы можете использовать инструкцию: request.getSession(). SetAttribute (E, F); Страница JSP будет читать информацию, используя действие jsp: useBean с scope = "session" и id = "E".

Я думал, б) может быть правильный ответ, но я не уверен, если я полностью понимаю, что «постоянные данные» относится к ..

ВОПРОС 2) Если сервлет отправляет боб на страницу JSP, возможные изменения в bean-компоненте, сделанные внутри страницы JSP, всегда будут видны другим страницам JSP или сервлетам, которые в будущем будут обращаться к компоненту. Правда или ложь?

Я предполагаю, что это ложь, но я просто не могу получить хорошее объяснение по этому поводу ..

Заранее спасибо, ребята!

ответ

0

На вопрос 1: инструкция: request.getSession(). SetAttribute (E, F); это область сеанса, атрибут установлен в сеансе, поэтому правильный ответ равен B . Я считаю, что постоянные данные означают, что эти данные являются постоянными до тех пор, пока сессия

2

Вопрос 1: ни один из перечисленных выше. Нет смысла хранить бобы в атрибуте сеанса. Вместо этого он должен быть сохранен в атрибуте запроса. И представление не должно использовать jsp: useBean вообще. Это был способ сделать это 17 лет назад. Вместо этого следует использовать JSP EL. Но, конечно, попытка найти компонент в области страницы не будет работать, поскольку она хранится в области сеанса.

Вопрос 2: Прежде всего, JSP не должен изменять компоненты, полученные от сервлета. JSP - это представление, которое должно отображать модель, которую он получает от контроллера. Не изменять его. Даже если он модифицирует bean-компонент, все зависит от объема компонента. Если боб был создан сервлетом, сохранен в атрибуте запроса и передан в JSP, он не отображается ни с каким другим компонентом и будет иметь право на GC, как только запрос будет обработан. Если это синглтон, который передается сервлетом на несколько страниц, тогда все страницы получат один и тот же одноэлементный объект, поэтому изменения будут видимыми (при условии, что синхронизация используется правильно), для всех JSP.

Честно говоря, вопросы сказать намного больше о работодателе, чем ответов говорят о вас: работодатель, кажется, не понимает, что он делает, и использует свои инструменты, как будто ничего не изменилось с 1999 года

Смежные вопросы