50 лучших вопросов на собеседовании по JSP (2024 г.)

Вот вопросы и ответы на собеседовании JSP для новичков и опытных кандидатов, желающих получить работу своей мечты.

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

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

👉 Скачать бесплатно PDF-файл: Вопросы и ответы для интервью JSP


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

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


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

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


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

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

  • ответ
  • исключение
  • приложению
  • запросить
  • Сессия
  • страница
  • внешний
  • конфиг
  • страницаКонтекст
Вопросы на собеседовании JSP
Вопросы на собеседовании JSP

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

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

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

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

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


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

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


7) Различайте ответ.sendRedirect(url) и .

<jsp.forward> Элемент пересылает объект запроса из одного файла 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.


Вопросы для собеседования по JSP для опытных специалистов

Ниже приведены вопросы и ответы на собеседовании JSP для опытных кандидатов:

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:» и имени действия.

<jsp:include/>
<jsp:getProperty/>	 	
<jsp:forward/>
<jsp:setProperty/>
<jsp:usebean/>
<jsp:plugin/>

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

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

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

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


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

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


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

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

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

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


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

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


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

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

<%=expression%>

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


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

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


21) Определите JSP-скриптлет.

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


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

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


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

<jsp:useBean>

id="beanInstName"

scope= "page | application"

class="ABC.class"  type="ABC.class"

</jsp:useBean>

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


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

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

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


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

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


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

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

1)заявка

2) запрос

3)страница

4)сессия


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

2 типа:

<%–JSP Comment–%>
<!–HTML comment–>

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

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


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

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


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

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


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

  1. сессия: Он показывает, доступны ли на странице данные сеанса.
  2. Импортировать: он показывает импортированные пакеты.
  3. isELИгнорируется: Он показывает, игнорируются ли выражения EL при преобразовании JSP в сервлет.
  4. Тип содержимого: он позволяет пользователю указать тип контента страницы.

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

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


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

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


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

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


<jsp:setProperty name="ABC" property="myProperty"…

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

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


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

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


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

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


37) Объясните валидацию на стороне клиента и сервера.

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

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


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

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


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

<% response.sendRedirect(URL); %>

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

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

40) Расскажите об использовании клонирования объектов.

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


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

<jsp:forward page="/Page2.jsp" />

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

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

<%@ page session=”false”  %>

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

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


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

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


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

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


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

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


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

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


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

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

<%@page contentType=”text/html” %>

<html>
<body>
<%!
	int a=0;
	private int getCount(){
	a++;
return a;
}%>
<p>Values of a are:</p>
<p><%=getCount()%></p>
</body>
</html>

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

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

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

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

Эти вопросы для собеседования также помогут вам в устной речи.