JSP, JSTL, JPA Flashcards

1
Q

Что такое JSP и для чего он используется?

A

Это серверная технология Java, которая позволяет создавать динамические web страницы. Используется как дополнение к сервлетам и помогает создавать web страницы с HTML подобным синтаксисом.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что такое JSP и для чего он используется?

A

Это серверная технология Java, которая позволяет создавать динамические web страницы. Используется как дополнение к сервлетам и помогает создавать web страницы с HTML подобным синтаксисом.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Фазы жизненного цикла у JSP?

A
Translation
Compilation
Class Loading 
Instantiation
Initialization
Request Processing
Destroy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Какие методы жизненного цикла JSP?

A

jspInit()
_jspService()
jspDestroy()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Какие методы из жизненного цикла JSP мы можем переопределить ?

A

jspInit() и jspDestroy()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Какие основные теги в JSP?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Что такое JSP implict objects?

A

Это объекты Java, которые JSP контейнер делает доступным для каждой страницы, и их можно вызвать без явного объявления.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Какие есть JSP implict objects?

A
response
exception
application
request
session
page
out
config
pageContext
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Какие преимущества использования pageContext?

A

C помощью pageContext можно получать и устанавливать атрибуты с различными областями видимости и отправлять запросы к другим ресурсам, сохранять ссылки на другие implict objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Какие преимущества использования pageContext?

A

C помощью pageContext можно получать и устанавливать атрибуты с различными областями видимости и отправлять запросы к другим ресурсам, сохранять ссылки на другие implict objrects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Фазы жизненного цикла у JSP?

A
Translation
Compilation
Class Loading 
Instantiation
Initialization
Request Processing
Destroy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Какие методы жизненного цикла JSP?

A

jspInit()
_jspService()
jspDestroy()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Какие методы из жизненного цикла JSP мы можем переопределить ?

A

jspInit() и jspDestroy()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Какие основные теги в JSP?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Что такое JSP implict objects?

A

Это объекты Java, которые JSP контейнер делает доступным для каждой страницы, и их можно вызвать без явного объявления.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Какие есть JSP implict objects?

A
response
exception
application
request
session
page
out
config
pageContext
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Можно ли использовать JSP implict objecys в скриптлете?

A

Нет, потому что объекты будут добавлены JSP контейнером во время трансляции страницы в исходный код сервлета.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Какие преимущества использования pageContext?

A

C помощью pageContext можно получать и устанавливать атрибуты с различными областями видимости и отправлять запросы к другим ресурсам, сохранять ссылки на другие implict objrects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Что такое стандартная библиотека тегов JSP(JSTL)?

A

Это библиотека тегов, которые позволяют контролировать поведение JSP страницы, проводить итерацию в коллекциях, позволяют реализовывать ветвление в логике, интернационализацию.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Можно ли отключить выполнение скриптлетов в jsp?

A

true

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Что такое JSP Action Elements(Tags)?

A

Это HTML подобные теги, которые предлагают удобное средство работы в JSP.
Они всегда начинаются с jsp:, для них не нужно подключать библиотеки или конфигурировать дополнительно.

22
Q

Какие вы знаете action elements(tags)?

A

jsp: include
jsp: useBean
jsp: getProperty
jsp: setProperty
jsp: forward
jsp: twxt
jsp: element
jsp: attribute
jsp: body
jsp: plugin

23
Q

Какое отличие между директивами include и jsp:include?

A

динамически добавляются атрибуты во время запроса.
:
статически добавляется атрибут к странице во время трансляции.

24
Q

Что такое JSP Expression Language?

A

Это механизм, который позволяет легко и просто доступиться к атрибутам и параметрам JSP используя синтаксис: ${name}
C объектом name можно делать все что с обычным объектом в java.

25
Каким JSP EL можно получить имя HTTP метода?
${pageContext.request.method}
26
Какие есть implict object в JSP EL?
``` pageScope, requestScope, sessionScope, applicationScope Param, paramValues header, headerValues Cookie initParam pageContext ```
27
Какой тип у JSP EL Implict Objects?
Map кроме pageContext
28
Что такое стандартная библиотека тегов JSP(JSTL)?
Это библиотека тегов, которые позволяют контролировать поведение JSP страницы, проводить итерацию в коллекциях, позволяют реализовывать ветвление в логике, интернационализацию.
29
На какие типы деляться JSTL теги?
``` Core Форматирование и локализация SQL теги XML теги Функциональные JSTL теги ```
30
Какие вы знаете Core теги JSTL?
31
Можно ли отключить EL?
Можно
32
Как запретить скрытое создание сессии в JSP?
33
Как сделать JSP потокобезопасным?
интерфейс SingleThreadModel | или
34
Что такое ORM(Object Relational Mapping)?
Это маппинг(связывание) таблиц реляционной базы данных и java объектов
35
Что такое JPA?
Это средство которое предоставляет средства управления отношениями между объектами и таблицами в базе.
36
Какие реализации JPA вы знаете?
Hibernate, JDO, EJB, Toplink
37
Что такое Entity?
Это класс, экземпляр которого должен сохранятся в базе. Каждое поле Entity класса это колонка в таблице базы
38
Что такое EntityManager?
Это интерфейс, который описывает операциии, проводимые с базой данных, такие как persist, remove, update и так далее. Entity, которые управляются этим EntityManager будут автоматически распространять изменение своего состояния на базу данных.
39
Зачем использовать JPA вместе Hibernate если можно напрямую работать с Hibernate?
JPA это стандарт и это хорошо; JPA не привязывает Вас к использованию только Hibernate; Нет специфических деталей Hibernate;
40
Какой жизненный цикл Entity?
New / Transient Managed / Persisted Detached Removed
41
Какой метод нужно использовать чтобы инициировать синхронизацию базы и entity?
У экземпляра persistanceContext вызвать метод flush()
42
Для чего используется метод merge()?
Что бы привести Entity экземпляр к состоянию которое находится в entity manager
43
Какие основные методы есть в интерфейсе EntityManager?
``` clear() find(entityClass, primaryKey) flush() isOpen() persist(Object entity) refresh(Object entity) remove(Object entity) ```
44
Как в JPA начать и закончить транзакцию?
em.getTransaction().begin(); Employee emp = new Employee(158); em.persist(emp); em.getTransaction().commit();
45
Что значит @GeneratedValue возле поля id?
То что, база сама будет генерировать значения id поля при добавлении данных.
46
Что такое lazy loading?
Не делаем загрузку данных без необходимости.
47
Как сделать lazy загрузку поля?
Подразумевается отказ от загрузки дополнительных данных, когда в этом нет необходимости. Вместо этого ставится маркер о том что данные не загружены и их надо загрузить в случае, если они понадобятся. @OneToOne(fetch=LAZY) private Department department;
48
Для чего предназначена аннотация @NamedQuery?
Для объявления именованных запросов. Аннотация определяет имя запроса и сам текст запроса в виде диалекта JSQL @NamedQuery(name="StudentByLastName", query="SELECT s FROM Student s WHERE s.lastName=:lastName") Query query = entityManager.createNamedQuery("studentByLastName"); query.setParameter("lastName", lastName); Collection students = query.getResultList();
49
С помощью какой аннотации можно организовать наследование сущностей?
Использовать аннотацию | @Inheritence для суперкласса иерархии.
50
Какие есть стратегии генерации id в JPA?
``` Стратегию можно указывать с помощью аннотации: @GeneratedValue Стратегии AUTO TABLE IDENTITY ```
51
КАК работает стратегия Identity?
Зависит от БД для oracle по умолчанию создается @SequenceGenerator со значениями по умолчанию Для PostgreSQL столбец SERIAL с именем по умолчанию Для MySQL создается столбец AUTO_INCREMENT