Топ 50 въпроси за интервю за JSP & Отговори

Anonim

Изтеглете PDF

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

JSP означава Java Server Pages. Това е технология на презентационен слой, независима от платформата. Той се предлага с платформите J2EE на SUN. Те са като HTML страници, но с вградени парчета Java код. Те се записват с разширение .jsp. Те се компилират с помощта на JSP компилатор във фонов режим и генерират Servlet от страницата.

2) Какво е изискването за библиотека с тагове?

Колекция от персонализирани тагове се нарича библиотека с маркери. Повтарящите се задачи се обработват по-лесно и се използват повторно в множество приложения, за да се увеличи производителността. Те се използват от дизайнерите на уеб приложения, които се фокусират върху презентацията, а не върху достъпа до база данни или други услуги. Някои популярни библиотеки са библиотека с низове на етикети и библиотека с етикети на Apache.

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) и

...>.

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

sendRedirect изпраща HTTP временен отговор за пренасочване към браузъра. След това браузърът създава нова заявка за пренасочената страница. Той убива променливите на сесията.

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

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

JSP е компонент от страна на сървъра и страницата се превежда в Java сървлет и след това се изпълнява. Като изход се дава само HTML код.

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

Статичните страници винаги се включват с помощта на директивата за включване на JSP. По този начин включването се извършва във фазата на превод веднъж. Обърнете внимание, че за атрибут на файла трябва да бъде предоставен относителен 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 страницата и след това в набора от страници за грешка “isErrorpage =” TRUE ”, грешките могат да бъдат спрени да се показват.

14) Какво представляват JSP действията?

Те са XML тагове, които насочват сървъра към използване на съществуващи компоненти или контрол на поведението на JSP Engine. Те се състоят от типичен префикс на „jsp:“ и име на действие.

15) Разграничаване между и <% @ include file = ...>.

И двата етикета включват информация от 1 страница на друга.

Първият таг действа като извикване на функция между две Jsp. Той се изпълнява всеки път, когато клиентът има достъп до страницата на клиента. Полезно е да модулирате уеб приложението. В изхода е включено ново съдържание.

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

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

Да, възможно е. Но не е за предпочитане, защото init () е разработен, тъй като по-ранните версии на Java не са могли да извикват конструктори с аргументи динамично. Така че те не можаха да присвоят servletConfig. Днес обаче контейнерите за сървлети все още извикват само конструктор no-arg. Така че няма достъп до servletContext или servletConfig.

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

jsplnit () : Контейнерът извиква това, за да инициализира екземпляр на сървлет. Той се извиква само веднъж за екземпляра на сървлета и предшества всеки друг метод. 2)

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

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

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

Те са коментари, които могат да се видят в HTML изходен файл.

19) Определете израз

Тагът за израз се използва за вмъкване на Java стойности директно в изхода. Синтаксисът му е

<% = израз%>

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

20) Определете състава.

Композицията има по-силна връзка с обекта от Агрегацията.

21) Определете JSP Scriptlet.

Това е JSP таг, който затваря Java код в JSP страници. Синтаксисът им е <%%>. Кодът, написан в скриплет, се изпълнява всеки път, когато програмата се изпълнява.

22) Как може информацията от един JSP да се предава на друг JSP?

Маркерът ни позволява да предаваме информация между множество Jsp.

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

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

Този маркер създава екземпляр на java bean. Първо се опитва да намери дали екземпляр на боб вече съществува и присвоява съхранява препратка в променливата. Типът също е посочен; в противен случай той създава екземпляр от посочения клас, съхраняващ препратка в новата променлива.

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

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

Той пренасочва браузъра към страницата на JSP error.jsp, ако някое незаловено изключение е лице по време на обработката на заявката. Това е страница за обработка на грешки.

25) Защо _jspService () започва с '_', но други методи на жизнения цикъл не?

Каквото и съдържание, направено в jsp страница, влиза в метода _jspService () от контейнера. Ако е заменено, компилаторът дава грешка, но останалите 2 жизнен цикъл могат лесно да бъдат заменени. Така че '_' показва, че не можем да заменим този метод.

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

Маркерът jsp: useBean> се използва за използване на всеки обект на java в jsp страницата. Някои стойности на обхвата са:

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

2) искане

3) страница

4) сесия

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

Двата вида са:

<%-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) Какво е Директива за включване?

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

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

Те оказват влияние върху цялостното поведение на изпълнение на дадена страница и отговора, изпратен до клиента. Те се използват за включване на файл по време на заявка, за създаване на екземпляр на JavaBean или намиране на такъв. Те също се използват за генериране на специфичен за браузъра код или препращане на заявка към нова страница.

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

Използва се за даване на стойности на свойствата на зърната, на които е направено позоваване предварително.

...

jsp: setproperty се изпълнява, дори ако е създаден нов компонент или е намерен съществуващ компонент.

Чрез добавяне на в края на кода, условието за изпълнение се инвертира, т.е. не се изпълнява, ако е намерен съществуващ обект и само ако е създаден нов обект.

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 е по-добър от технологията Servlet?

JSP е технология от страна на сървъра, която улеснява генерирането на съдържание. Те са ориентирани към документи, докато сървлетите са програми. Страницата на Java сървър може да съдържа фрагменти от Java програма, които изпълняват и създават Java класове. Те обаче се появяват във файла с HTML шаблон. Той предоставя рамката за разработване на уеб приложение.