50 самых популярных вопросов на собеседовании JSP & Ответы

Anonim

Скачать PDF

1) Объясните JSP и расскажите о его использовании.

JSP расшифровывается как Java Server Pages. Это технология уровня представления, независимая от платформы. Он поставляется с платформами SUN J2EE. Они похожи на страницы HTML, но в них встроены фрагменты кода Java. Они сохраняются с расширением .jsp. Они компилируются с использованием компилятора JSP в фоновом режиме и генерируют сервлет со страницы.

2) Каковы требования к библиотеке тегов?

Набор настраиваемых тегов называется библиотекой тегов. Повторяющиеся задачи легче обрабатывать и повторно использовать в нескольких приложениях для повышения производительности. Они используются разработчиками веб-приложений, которые сосредоточены на презентации, а не на доступе к базе данных или другим службам. Некоторые популярные библиотеки - это библиотека тегов String и библиотека тегов отображения Apache.

3) Объясните технологию JSP.

JSP - это стандартное расширение Java, которое определяется поверх расширений сервлетов. Его цель - упростить управление и создание динамических веб-страниц. Он не зависит от платформы, безопасен и использует Java в качестве языка сценариев на стороне сервера.

4) Объяснять неявные объекты в JSP.

Объекты, созданные веб-контейнером и содержащие информацию о конкретном запросе, приложении или странице, называются неявными объектами. Они есть :

  • отклик
  • исключение
  • заявление
  • запрос
  • сессия
  • страница
  • из
  • config
  • pageContext

5) Как можно предотвратить множественные отправки из-за нажатия кнопки обновления?

Эту проблему можно решить с помощью шаблона Post / Redirect / Get или PRG.

1) Заполненная пользователем форма отправляется на сервер с использованием метода POST или GET. Состояние в базе данных и бизнес-модель обновляются.

2) Ответ перенаправления используется сервлетом для ответа на страницу просмотра.

3) Просмотр загружается браузером с помощью команды GET, и никакие пользовательские данные не отправляются. Это безопасно от многократных отправок, так как это отдельная страница JSP.

6) Является ли технология JSP расширяемой?

Да, JSP легко расширяется за счет использования и изменения тегов или настраиваемых действий, инкапсулированных в библиотеках тегов.

7) Различия между response.sendRedirect (url) и

…>.

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

sendRedirect отправляет браузеру ответ временного перенаправления HTTP. Затем браузер создает новый запрос для перенаправленной страницы. Он убивает переменные сеанса.

8) Можно ли получить доступ к следующему запросу с помощью кода сервлета, если атрибут запроса уже отправлен в его JSP?

Запрос выходит за пределы области видимости, поэтому к нему нельзя получить доступ. Однако, если атрибут запроса установлен в сервлете, то к нему можно получить доступ в его JSP.

JSP - это компонент на стороне сервера, а страница переводится в сервлет Java и затем выполняется. В качестве вывода выдается только HTML-код.

9) Как включить статические файлы в страницу JSP?

Статические страницы всегда включаются с помощью директивы JSP include. Таким образом, включение выполняется на этапе перевода один раз. Обратите внимание, что относительный URL-адрес должен быть указан для атрибута файла. Хотя статические ресурсы могут быть включены, это не является предпочтительным, поскольку каждый запрос требует включения.

10) Почему у JComponent есть методы add () и remove (), а у Component - нет?

JComponent - это подкласс Container. Он содержит другие компоненты и JComponents.

11) Как можно реализовать поточно-безопасную страницу JSP?

Это можно сделать, реализовав их с помощью интерфейса SingleThreadModel. Добавьте директиву <% @ page isThreadSafe = ”false”%> на страницу JSP.

12) Как можно предотвратить кеширование вывода страницы JSP или сервлета браузером?

Использование соответствующих атрибутов заголовка HTTP для предотвращения кэширования браузером динамического содержимого, выводимого страницей JSP.

13) Как ограничить отображение ошибок страницы на странице JSP?

Установив атрибут «ErrorPage» каталога PAGE для имени страницы с ошибкой на странице JSP, а затем в jsp-странице ошибок, установленной «isErrorpage =» TRUE », можно остановить отображение ошибок.

14) Что такое действия JSP?

Это теги XML, которые направляют сервер на использование существующих компонентов или управляют поведением JSP Engine. Они состоят из типичного префикса «jsp:» и имени действия.

15) Различайте и <% @ include file =…>.

Оба эти тега включают информацию с одной страницы на другую.

Первый тег действует как вызов функции между двумя Jsp. Он выполняется каждый раз, когда клиент обращается к странице клиента. Полезно сделать веб-приложение модульным. В вывод включается новый контент.

Содержимое второго тега файла встроено в текст с аналогичной директивой. Измененный контент не включается в вывод. Это полезно, когда код из одного jsp требуется для нескольких jsp.

16) Можно ли использовать конструктор вместо init () для инициализации сервлета?

Да, это возможно. Но это нежелательно, потому что init () был разработан, потому что более ранние версии Java не могли динамически вызывать конструкторы с аргументами. Таким образом, они не могли назначить servletConfig. Однако сегодня контейнеры сервлетов по-прежнему вызывают только конструктор без аргументов. Таким образом, нет доступа к servletContext или servletConfig.

17) Объясните методы жизненного цикла. 1)

jsplnit () : контейнер вызывает это для инициализации экземпляра сервлета. Он вызывается только один раз для экземпляра сервлета и предшествует любому другому методу. 2)

_jspService () : контейнер вызывает это для каждого запроса и передает его объектам. 3)

jspDestroy () : вызывается контейнером непосредственно перед уничтожением экземпляра.

18) Объясните комментарии к выходным данным JSP?

Это комментарии, которые можно просмотреть в исходном HTML-файле.

19) Определить выражение

Тег выражения используется для вставки значений Java непосредственно в вывод. Его синтаксис

<% = выражение%>

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

20) Определите композицию.

Композиция имеет более сильные отношения с объектом, чем агрегирование.

21) Определите сценарий JSP.

Это тег JSP, который включает код Java в страницы JSP. Их синтаксис: <%%>. Код, написанный в скриптлете, выполняется каждый раз при запуске программы.

22) Как можно передать информацию из одного JSP в другой JSP?

Тег позволяет нам передавать информацию между несколькими Jsp.

23) Объясните использование тега .

id="beanInstName"scope= "page | application"class="ABC.class" type="ABC.class"

Этот тег создает экземпляр java bean. Сначала он пытается определить, существует ли уже экземпляр bean-компонента, и сохраняет ссылку в переменной. Также указывается тип; в противном случае он создает экземпляр из указанного класса, сохраняя ссылку в новой переменной.

24) Объясните обработку исключений времени выполнения.

Атрибут Errorpage используется для извлечения исключений времени выполнения, которые автоматически перенаправляются на страницу обработки ошибок.

Он перенаправляет браузер на страницу JSP error.jsp, если во время обработки запроса возникает какое-либо неперехваченное исключение. Это страница обработки ошибок.

25) Почему _jspService () начинается с символа «_», а другие методы жизненного цикла - нет?

Любой контент, созданный на странице jsp, попадает в метод _jspService () контейнера. Если это переопределение, компилятор выдает ошибку, но два других жизненных цикла можно легко переопределить. Таким образом, "_" показывает, что мы не можем переопределить этот метод.

26) Объясните различные значения области действия тега .

Тег используется для использования любого объекта java на странице jsp. Некоторые значения области:

1) приложение

2) запрос

3) страница

4) сессия

27) Покажите 2 типа комментариев в JSP.

Есть 2 типа:

<%-JSP Comment-%>

28) Можно ли переопределить статический метод?

Мы можем объявить статические методы с той же сигнатурой в подклассе, но это не считается переопределением, поскольку не будет никакого полиморфизма во время выполнения. Следовательно, ответ - «Нет».

29) Объясните директивы JSP.

Директивы JSP - это сообщения для JSP Engine. Они служат сообщением от страницы к контейнеру и контролируют обработку всей страницы. Они могут устанавливать глобальные значения, такие как объявление класса. Они не производят вывода и заключаются в <% @….%>

30) Объясните директивы pge.

Директивы страницы информируют JSP Engine о заголовках и средствах, которые страница получает из среды. Он находится вверху всех страниц JSP. Его синтаксис: <% @ page attribute = "value">

31) Показать атрибуты директив страницы.

1) Сессия: показывает, доступны ли для страницы данные сеанса.

2) Импорт: показывает импортированные пакеты.

3) isELIgnored: показывает, игнорируются ли выражения EL при преобразовании JSP в сервлет.

4) contentType: позволяет пользователю указать тип содержимого страницы.

32) Что такое директива Include?

Директива include статически вставляет содержимое ресурса в текущую JSP. Это помогает повторно использовать код без дублирования. и включает содержимое файла во время перевода. Его синтаксис следующий: <% @ include file = ”Filename”%>.

33) Что такое стандартные действия в JSP?

Они влияют на общее поведение страницы во время выполнения и ответ, отправляемый клиенту. Они используются для включения файла во время запроса, для создания экземпляра JavaBean или его поиска. Они также используются для генерации специфичного для браузера кода или перенаправления запроса на новую страницу.

34) Объясните действие jsp: setProperty.

Он используется для присвоения значений свойствам bean-компонентов, на которые ранее была сделана ссылка.

jsp: setproperty выполняется, даже если создается новый bean-компонент или найден существующий bean-компонент.

При добавлении в конце кода условие выполнения инвертируется, т.е. оно не выполняется, если существующий объект был найден, и только если был создан новый объект.

35) Определите статический блок.

Он используется для запуска статического элемента данных. Он выполняется перед загрузкой класса.

36) Объясните jsp: действие плагина.

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

37) Объясните проверку на стороне клиента и сервера.

Javascript используется для проверки на стороне клиента. Это происходит в браузере. Javascript используется для отправки данных формы, если проверка прошла успешно. Ошибки проверки не требуют дополнительной сетевой поездки, потому что форма не может быть отправлена.

Проверка также выполняется на сервере после отправки. Если проверка не удалась, потребуется дополнительное сетевое отключение для повторной отправки формы клиенту.

38) Что такое фаза трансляции?

Механизм JSP преобразует и компилирует файл JSP в сервлет. Этот сервлет переходит к фазе выполнения, на которой обрабатываются запросы и ответы. Они компилируются в первый раз, когда к ним обращаются, если только вручную не скомпилированы заранее. Ручная или явная компиляция полезна для длинных и запутанных программ.

39) Выполните перенаправление браузера со страницы JSP.

<% response.sendRedirect(URL); %>

или мы можем изменить расположение атрибута заголовка HTTP следующим образом:

<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader(URL); %>

40) Используйте клонирование объектов.

Клонирование объекта используется для создания точной копии объекта путем ввода того же кода или использования различных других методов.

41) Как переадресовать запрос другому источнику.

42) Как можно предотвратить автоматическое создание сеанса на странице JSP?

Страница JSP автоматически создает сеансы для запросов. Набрав следующее, этого можно избежать.

<%@ page session=”false” %>

43) Как избежать кода скриптлета в JSP?

Вместо кода скриптлета можно использовать JavaBeans или настраиваемые теги.

44) Объясните метод jspDestroy ().

Каждый раз, когда страница JSP собирается быть уничтожена, контейнер вызывает метод jspDestroy () из интерфейса javax.servlet.jsp.JspPage. На него похожи методы уничтожения сервлетов. Его можно легко переопределить для выполнения очистки, например, при закрытии соединения с базой данных.

45) Объясните действие .

Это действие, используемое со стандартными действиями включения или пересылки. Это помогает в передаче имен и значений параметров ресурсу.

46) Объясните статический метод.

Статический метод относится к классу, а не к объекту класса. Его можно вызвать без экземпляра класса. Статические члены также могут обращаться к статическим данным и изменять их значение.

47) Как отключить скриптинг?

Сценарии можно легко отключить, установив для элемента дескриптора развертывания для недопустимого сценария значение true. Это подэлемент группы свойств. Это тоже может быть ложным.

48) Определите декларацию JSP.

Объявление JSP - это теги, используемые при объявлении переменных. Они заключены в тег <%!%>. Они используются при объявлении функций и переменных.

<%@page contentType=”text/html” %><%!int a=0;private int getCount(){a++;return a;}%>

Values of a are:

<%=getCount()%>

49) Как можно предотвратить кэширование вывода HTML?

<%response.setHeader("Cache-Control", "no=store");response.setDateHeader("Expires", 0);%>

50) Чем JSP лучше технологии сервлетов?

JSP - это технология на стороне сервера, упрощающая создание контента. Они ориентированы на документы, тогда как сервлеты - это программы. Страница сервера Java может содержать фрагменты программы Java, которые выполняют и создают экземпляры классов Java. Однако они происходят внутри файла шаблона HTML. Он обеспечивает основу для разработки веб-приложения.