JSP Въпроси за интервю (2025)
JSP Въпроси за интервю за първокурсници
1) Обяснете JSP и кажете неговите употреби.
JSP означава Java Сървърни страници. Това е технология на презентационен слой, независима от платформата. Той идва с J2EE платформите на SUN. Те са като HTML страници, но с Java части от код, вградени в тях. Те се записват с разширение .jsp. Те се компилират с помощта на JSP компилатор във фонов режим и генерират сервлет от страницата.
👉 Безплатно изтегляне на PDF: Въпроси и отговори за JSP интервю
2) Какво е изискването за библиотека с етикети?
Колекция от персонализирани етикети се нарича библиотека с етикети. Повтарящите се задачи се обработват по-лесно и се използват повторно в множество приложения за увеличаване на продуктивността. Те се използват от дизайнери на уеб приложения, които се фокусират върху представянето, а не върху достъпа до база данни или други услуги. Някои популярни библиотеки са String tag библиотека и Apache display tag библиотека.
3) Обяснете технологията JSP.
JSP е стандартно разширение на Java и се дефинира върху разширенията на Servlet. Целта му е да опрости управлението и създаването на динамични уеб страници. Той е независим от платформата, сигурен е и използва Java като скриптов език от страната на сървъра.
4) Обяснете имплицитните обекти в JSP.
Извикват се обекти, създадени от уеб контейнер и съдържащи информация относно конкретна заявка, приложение или страница Неявни обекти. Те са:
- отговор
- изключение
- прилагане
- поиска
- сесия
- страница
- от
- довереник
- pageContext
5) Как могат да бъдат предотвратени многократни изпращания поради щраквания върху бутона за опресняване?
Този проблем може да бъде решен с помощта на шаблон Post/Redirect/Get или PRG.
1) Формуляр, попълнен от потребителя, се изпраща на сървъра чрез метода POST или GET. Състоянието в базата данни и бизнес моделът се актуализират.
2) Отговорът за пренасочване се използва за отговор от сървлета за страница за преглед.
3) Изглед се зарежда от браузъра с помощта на командата GET и не се изпращат потребителски данни. Това е безопасно от множество изпращания, тъй като е отделна JSP страница.
6) JSP технологията разширяема ли е?
Да, JSP е лесно разширим чрез използване и модифициране на етикети или персонализирани действия, капсулирани в библиотеки с етикети.
7) Правете разлика между response.sendRedirect(url) и .
<jsp.forward>
елементът препраща обекта на заявката от 1 JSP файл към друг. Target може да бъде HTML, сървлет или друг JSP файл, но трябва да бъде в същия контекст на приложението като препращащия JSP файл.
sendRedirect изпраща HTTP отговор за временно пренасочване към браузъра. След това браузърът създава нова заявка за пренасочената страница. Той убива сесийните променливи.
8) Може ли последваща заявка да бъде достъпна с нечий сервлет код, ако атрибут на заявка вече е изпратен в неговия JSP?
Заявката излиза извън обхвата, поради което не може да бъде достъпена. Въпреки това, ако атрибут на заявка е зададен в нечий сервлет, тогава той може да бъде достъпен в неговия JSP.
JSP е компонент от страна на сървъра и страницата е преведена на a Java сървлет и след това изпълнен. Като изход се дава само HTML код.
9) Как да включите статични файлове в JSP страница?
Статичните страници винаги се включват чрез JSP директива за включване. По този начин включването се извършва веднъж във фазата на превода. Обърнете внимание, че трябва да бъде предоставен относителен 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 версиите не можеха да извикват динамично конструктори с аргументи. Така че не можаха да присвоят servletConfig. Днес обаче сервлет контейнерите все още извикват само конструктор без аргументи. Така че няма достъп до 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 bean. Първо се опитва да намери дали екземплярът на bean вече съществува и присвоява съхранява препратка в променливата. Типът също е посочен; в противен случай се инстанцира от посочения клас, съхранявайки препратка в новата променлива.
24) Обяснете обработката на изключения по време на изпълнение.
Атрибутът Errorpage се използва за премахване на изключенията по време на изпълнение, препратени автоматично към страница за обработка на грешки.
Той пренасочва браузъра към JSP страница error.jsp, ако някое неуловено изключение е изправено по време на обработката на заявката. Това е страница за обработка на грешки.
25) Защо _jspService() започва с '_', но другите методи на жизнения цикъл не започват?
Каквото и съдържание, направено в jsp страница, влиза в метода _jspService() от контейнера. Ако е отменено, компилаторът дава грешка, но другите 2 жизнени цикъла могат лесно да бъдат отменени. Така че '_' показва, че не можем да отменим този метод.
26) Обяснете различните стойности на обхвата за етикет.
се използва за използване на всеки java обект в jsp страницата. Някои стойности на обхвата са:
1) приложение
2) искане
3) страница
4) сесия
27) Покажете двата вида коментари в JSP.
2 вида са:
<%–JSP Comment–%> <!–HTML comment–>
28) Може ли статичният метод да бъде отменен?
Можем да декларираме статични методи със същия подпис в подклас, но това не се счита за отменящо, тъй като няма да има полиморфизъм по време на изпълнение. Следователно отговорът е „Не“.
29) Обяснете JSP директивите.
JSP директиви са съобщения към JSP Engine. Те служат като съобщение от страница към контейнер и контролират обработката на цялата страница. Те могат да задават глобални стойности като декларация на клас. Те не произвеждат изход и са оградени в <%@….%>
30) Обяснете стр. директиви.
Директивите на страницата информират JSP Engine за заглавките и съоръженията, които страницата получава от средата. Намира се в горната част на всички JSP страници. Синтаксисът му е <%@ page attribute=”value”>
31) Показване на атрибути на директиви за страници.
- Сесия: Показва дали данните за сесията са достъпни за страницата.
- внос: показва пакети, които са импортирани.
- isELIgnored: Показва дали EL изразите се игнорират, когато JSP се преобразува в a сървлет.
- contentType: позволява на потребителя да посочи типа съдържание на страницата.
32) Какво е директива за включване?
Директивата за включване статично вмъква съдържанието на ресурс в текущия JSP. Помага при повторното използване на код без дублиране. и включва съдържанието на файла по време на превод. Синтаксисът му е следният <%@ include file=”Filename”%>
.
33) Какви са стандартните действия в JSP?
Те влияят върху цялостното поведение на страницата по време на изпълнение и отговора, изпратен до клиента. Те се използват за включване на файл по време на заявка, за инстанциране на a JavaБийн или намери такъв. Те се използват и за генериране на специфичен за браузър код или за препращане на заявка към нова страница.
34) Обяснете действието jsp:setProperty.
Използва се за даване на стойности на свойства на зърна, които са били споменати предварително.
…
<jsp:setProperty name=”ABC” property=”myProperty”…
jsp:setproperty се изпълнява дори ако е създаден нов bean или е намерен съществуващ bean.
Чрез добавяне в края на кода условието за изпълнение е обърнато, т.е. не се изпълнява, ако съществуващ обект е намерен и само ако е инстанциран нов обект.
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 страницата автоматично създава сесии за заявки. Като напишете следното, това може да бъде избегнато.
<%@ 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” %> <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 е по-добър от Servlet технологията?
JSP е технология от страна на сървъра, за да улесни генерирането на съдържание. Те са ориентирани към документи, докато сървлетите са програми. А Java сървърната страница може да съдържа фрагменти от Java програма, които изпълняват и инстанцират Java класове. Те обаче се срещат във файла с HTML шаблон. Той предоставя рамката за разработване на уеб приложение.
Тези въпроси за интервюто също ще ви помогнат във вашата viva (устна)