JSP, JSTL, JPA Flashcards
Что такое JSP и для чего он используется?
Это серверная технология Java, которая позволяет создавать динамические web страницы. Используется как дополнение к сервлетам и помогает создавать web страницы с HTML подобным синтаксисом.
Что такое JSP и для чего он используется?
Это серверная технология Java, которая позволяет создавать динамические web страницы. Используется как дополнение к сервлетам и помогает создавать web страницы с HTML подобным синтаксисом.
Фазы жизненного цикла у JSP?
Translation Compilation Class Loading Instantiation Initialization Request Processing Destroy
Какие методы жизненного цикла JSP?
jspInit()
_jspService()
jspDestroy()
Какие методы из жизненного цикла JSP мы можем переопределить ?
jspInit() и jspDestroy()
Какие основные теги в JSP?
Что такое JSP implict objects?
Это объекты Java, которые JSP контейнер делает доступным для каждой страницы, и их можно вызвать без явного объявления.
Какие есть JSP implict objects?
response exception application request session page out config pageContext
Какие преимущества использования pageContext?
C помощью pageContext можно получать и устанавливать атрибуты с различными областями видимости и отправлять запросы к другим ресурсам, сохранять ссылки на другие implict objects.
Какие преимущества использования pageContext?
C помощью pageContext можно получать и устанавливать атрибуты с различными областями видимости и отправлять запросы к другим ресурсам, сохранять ссылки на другие implict objrects.
Фазы жизненного цикла у JSP?
Translation Compilation Class Loading Instantiation Initialization Request Processing Destroy
Какие методы жизненного цикла JSP?
jspInit()
_jspService()
jspDestroy()
Какие методы из жизненного цикла JSP мы можем переопределить ?
jspInit() и jspDestroy()
Какие основные теги в JSP?
Что такое JSP implict objects?
Это объекты Java, которые JSP контейнер делает доступным для каждой страницы, и их можно вызвать без явного объявления.
Какие есть JSP implict objects?
response exception application request session page out config pageContext
Можно ли использовать JSP implict objecys в скриптлете?
Нет, потому что объекты будут добавлены JSP контейнером во время трансляции страницы в исходный код сервлета.
Какие преимущества использования pageContext?
C помощью pageContext можно получать и устанавливать атрибуты с различными областями видимости и отправлять запросы к другим ресурсам, сохранять ссылки на другие implict objrects.
Что такое стандартная библиотека тегов JSP(JSTL)?
Это библиотека тегов, которые позволяют контролировать поведение JSP страницы, проводить итерацию в коллекциях, позволяют реализовывать ветвление в логике, интернационализацию.
Можно ли отключить выполнение скриптлетов в jsp?
true
Что такое JSP Action Elements(Tags)?
Это HTML подобные теги, которые предлагают удобное средство работы в JSP.
Они всегда начинаются с jsp:, для них не нужно подключать библиотеки или конфигурировать дополнительно.
Какие вы знаете action elements(tags)?
jsp: include
jsp: useBean
jsp: getProperty
jsp: setProperty
jsp: forward
jsp: twxt
jsp: element
jsp: attribute
jsp: body
jsp: plugin
Какое отличие между директивами include и jsp:include?
динамически добавляются атрибуты во время запроса.
:
статически добавляется атрибут к странице во время трансляции.
Что такое JSP Expression Language?
Это механизм, который позволяет легко и просто доступиться к атрибутам и параметрам JSP используя синтаксис: ${name}
C объектом name можно делать все что с обычным объектом в java.
Каким JSP EL можно получить имя HTTP метода?
${pageContext.request.method}
Какие есть implict object в JSP EL?
pageScope, requestScope, sessionScope, applicationScope Param, paramValues header, headerValues Cookie initParam pageContext
Какой тип у JSP EL Implict Objects?
Map кроме pageContext
Что такое стандартная библиотека тегов JSP(JSTL)?
Это библиотека тегов, которые позволяют контролировать поведение JSP страницы, проводить итерацию в коллекциях, позволяют реализовывать ветвление в логике, интернационализацию.
На какие типы деляться JSTL теги?
Core Форматирование и локализация SQL теги XML теги Функциональные JSTL теги
Какие вы знаете Core теги JSTL?
Можно ли отключить EL?
Можно
Как запретить скрытое создание сессии в JSP?
Как сделать JSP потокобезопасным?
интерфейс SingleThreadModel
или
Что такое ORM(Object Relational Mapping)?
Это маппинг(связывание) таблиц реляционной базы данных и java объектов
Что такое JPA?
Это средство которое предоставляет средства управления отношениями между объектами и таблицами в базе.
Какие реализации JPA вы знаете?
Hibernate, JDO, EJB, Toplink
Что такое Entity?
Это класс, экземпляр которого должен сохранятся в базе. Каждое поле Entity класса это колонка в таблице базы
Что такое EntityManager?
Это интерфейс, который описывает операциии, проводимые с базой данных, такие как persist, remove, update и так далее.
Entity, которые управляются этим EntityManager будут автоматически распространять изменение своего состояния на базу данных.
Зачем использовать JPA вместе Hibernate если можно напрямую работать с Hibernate?
JPA это стандарт и это хорошо;
JPA не привязывает Вас к использованию только Hibernate;
Нет специфических деталей Hibernate;
Какой жизненный цикл Entity?
New / Transient
Managed / Persisted
Detached
Removed
Какой метод нужно использовать чтобы инициировать синхронизацию базы и entity?
У экземпляра persistanceContext вызвать метод flush()
Для чего используется метод merge()?
Что бы привести Entity экземпляр к состоянию которое находится в entity manager
Какие основные методы есть в интерфейсе EntityManager?
clear() find(entityClass, primaryKey) flush() isOpen() persist(Object entity) refresh(Object entity) remove(Object entity)
Как в JPA начать и закончить транзакцию?
em.getTransaction().begin();
Employee emp = new Employee(158);
em.persist(emp);
em.getTransaction().commit();
Что значит @GeneratedValue возле поля id?
То что, база сама будет генерировать значения id поля при добавлении данных.
Что такое lazy loading?
Не делаем загрузку данных без необходимости.
Как сделать lazy загрузку поля?
Подразумевается отказ от загрузки дополнительных данных, когда в этом нет необходимости. Вместо этого ставится маркер о том что данные не загружены и их надо загрузить в случае, если они понадобятся.
@OneToOne(fetch=LAZY)
private Department department;
Для чего предназначена аннотация @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();
С помощью какой аннотации можно организовать наследование сущностей?
Использовать аннотацию
@Inheritence для суперкласса иерархии.
Какие есть стратегии генерации id в JPA?
Стратегию можно указывать с помощью аннотации: @GeneratedValue Стратегии AUTO TABLE IDENTITY
КАК работает стратегия Identity?
Зависит от БД
для oracle по умолчанию создается @SequenceGenerator со значениями по умолчанию
Для PostgreSQL столбец SERIAL с именем по умолчанию
Для MySQL создается столбец AUTO_INCREMENT