As 50 principais perguntas da entrevista JSP (2024)

Aqui estão as perguntas e respostas da entrevista JSP para candidatos mais novos e experientes para conseguir o emprego dos sonhos.

1) Explique JSP e diga seus usos.

JSP significa Java Server Pages. É uma tecnologia de camada de apresentação independente da plataforma. Ele vem com plataformas J2EE da SUN. Elas são como páginas HTML, mas com partes de código Java incorporadas nelas. Eles são salvos com uma extensão .jsp. Eles são compilados usando o compilador JSP em segundo plano e geram um Servlet a partir da página.

👉 Download gratuito de PDF: Perguntas e respostas da entrevista JSP


2) Qual é o requisito de uma biblioteca de tags?

Uma coleção de tags personalizadas é chamada de Biblioteca de Tags. As tarefas recorrentes são tratadas com mais facilidade e reutilizadas em vários aplicativos para aumentar a produtividade. Eles são usados ​​por designers de aplicações Web que se concentram na apresentação em vez de acessar banco de dados ou outros serviços. Algumas bibliotecas populares são a biblioteca de tags String e a biblioteca de tags de exibição Apache.


3) Explique a tecnologia JSP.

JSP é uma extensão padrão de Java e é definida sobre extensões de Servlet. Seu objetivo é simplificar o gerenciamento e a criação de páginas web dinâmicas. É independente de plataforma, seguro e utiliza Java como linguagem de script do lado do servidor.


4) Explique objetos implícitos em JSP.

Objetos criados pelo contêiner da web e que contêm informações sobre uma determinada solicitação, aplicativo ou página são chamados Objetos Implícitos. Eles são :

  • resposta
  • exceção
  • o aplicativo fechado
  • solicitar
  • Sessão
  • página
  • Fora
  • configuração
  • pageContext
Perguntas da entrevista JSP
Perguntas da entrevista JSP

5) Como evitar vários envios devido a cliques no botão de atualização?

Usando um padrão Post/Redirect/Get ou PRG, esse problema pode ser resolvido.

1) Um formulário preenchido pelo usuário é enviado ao servidor utilizando o método POST ou GET. O estado no banco de dados e no modelo de negócios são atualizados.

2) Uma resposta de redirecionamento é usada para responder pelo servlet a uma página de visualização.

3) Uma visualização é carregada pelo navegador usando o comando GET e nenhum dado do usuário é enviado. Isso é protegido contra envios múltiplos, pois é uma página JSP separada.


6) A tecnologia JSP é extensível?

Sim, JSP é facilmente extensível pelo uso e modificação de tags, ou ações personalizadas, encapsuladas em bibliotecas de tags.


7) Diferencie entre response.sendRedirect(url) e .

<jsp.forward> elemento encaminha o objeto de solicitação de um arquivo JSP para outro. O arquivo de destino pode ser HTML, servlet ou outro arquivo JSP, mas deve estar no mesmo contexto do aplicativo que o arquivo JSP de encaminhamento.

sendRedirect envia resposta de redirecionamento temporário HTTP para o navegador. O navegador então cria uma nova solicitação para a página redirecionada. Ele mata as variáveis ​​de sessão.


8) Uma solicitação subsequente pode ser acessada com o código do servlet de alguém, se um atributo da solicitação já tiver sido enviado em seu JSP?

A solicitação sai do escopo e, portanto, não pode ser acessada. Entretanto, se um atributo de solicitação for definido em um servlet, ele poderá ser acessado em seu JSP.

Um JSP é um componente do lado do servidor e a página é traduzida para um servlet Java e então executada. Apenas o código HTML é fornecido como saída.


9) Como incluir arquivos estáticos em uma página JSP?

As páginas estáticas são sempre incluídas usando a diretiva include JSP. Desta forma a inclusão é realizada uma única vez na fase de tradução. Observe que uma URL relativa deve ser fornecida para o atributo de arquivo. Embora recursos estáticos possam ser incluídos, isso não é preferível, pois cada solicitação exige inclusão.


10) Por que JComponent possui métodos add() e remove() mas Component não?

JComponent é uma subclasse de Container. Ele contém outros componentes e JComponents.


Perguntas da entrevista JSP para profissionais experientes

Abaixo estão as perguntas e respostas da entrevista JSP para candidatos experientes:

11) Como uma página JSP thread-safe pode ser implementada?

Isso pode ser feito implementando-os pela interface SingleThreadModel. Adicione a diretiva <%@page isThreadSafe=”false” %> na página JSP.


12) Como a saída da página JSP ou servlet pode ser impedida de ser armazenada em cache pelo navegador?

Usando atributos de cabeçalho HTTP apropriados para evitar que a saída de conteúdo dinâmico de uma página JSP seja armazenada em cache pelo navegador.


13) Como restringir a exibição de erros de página em uma página JSP?

Ao configurar um atributo “ErrorPage” do diretório PAGE para o nome da página de erro na página JSP e, em seguida, na página de erro jsp definir “isErrorpage=”TRUE”, os erros podem ser impedidos de serem exibidos.


14) O que são ações JSP?

São tags XML, que direcionam o servidor para usar componentes existentes ou controlar o comportamento do JSP Engine. Eles consistem em um prefixo típico de “jsp:” e um nome de ação.

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

15) Diferencie entre e <%@incluir arquivo=…>.

Ambas as tags incluem informações de uma página para outra.

A primeira tag atua como uma chamada de função entre dois Jsp's. Ele é executado sempre que a página do cliente é acessada pelo cliente. É útil modularizar o aplicativo da web. Novo conteúdo é incluído na saída.

O conteúdo da segunda tag do arquivo é incorporado textualmente com uma diretiva semelhante. O conteúdo alterado não é incluído na saída. É útil quando o código de um jsp é exigido por vários jsp's.


16) O construtor pode ser usado em vez de init(), para inicializar o servlet?

Sim, é possível. Mas não é preferido porque init() foi desenvolvido porque versões anteriores do Java não podiam invocar construtores com argumentos dinamicamente. Portanto, eles não puderam atribuir um servletConfig. Hoje, entretanto, os contêineres de servlet ainda chamam apenas o construtor no-arg. Portanto não há acesso ao servletContext ou servletConfig.


17) Explique os métodos do ciclo de vida.

1) jsplnit(): o contêiner chama isso para inicializar a instância do servlet. Ele é chamado apenas uma vez para a instância do servlet e precede todos os outros métodos.

2) _jspServiço(): o contêiner chama isso para cada solicitação e passa para os objetos.

3) jspDestroy(): é chamado pelo contêiner pouco antes da destruição da instância.


18) Explique os comentários de saída JSP?

São comentários que podem ser visualizados no arquivo fonte HTML.


19) Definir Expressão

A tag de expressão é usada para inserir valores Java diretamente na saída. Sua sintaxe é

<%=expression%>

Ele contém uma expressão de linguagem de script que é avaliada, convertida em uma string e inserida onde a expressão vem no arquivo JSP.


20) Defina Composição.

A composição tem um relacionamento mais forte com o objeto do que a agregação.


21) Defina Scriptlet JSP.

É uma tag JSP que inclui código Java em páginas JSP. A sintaxe deles é <% %>. O código escrito em scriptlet é executado sempre que o programa é executado.


22) Como as informações de um JSP podem ser passadas para outro JSP?

A etiqueta nos permite passar informações entre vários JSPs.


23) Explique os usos de marcação.

<jsp:useBean>

id="beanInstName"

scope= "page | application"

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

</jsp:useBean>

This tag creates an instance of java bean. It firstly tries to find if bean instance already exist and assign stores a reference in the variable. Type is also specified; otherwise it instantiates from the specified class storing a reference in the new variable.


24) Explique o tratamento de exceções de tempo de execução.

O atributo Errorpage é usado para detectar as exceções de tempo de execução encaminhadas automaticamente para uma página de processamento de erros.

Ele redireciona o navegador para a página JSP error.jsp se alguma exceção não detectada for enfrentada durante o tratamento da solicitação. É uma página de processamento de erros.


25) Por que _jspService() começa com '_' mas outros métodos de ciclo de vida não?

Qualquer conteúdo criado em uma página jsp vai para dentro do método _jspService() pelo contêiner. Se for substituído, o compilador apresentará um erro, mas os outros 2 ciclos de vida podem ser facilmente substituídos. Portanto, '_' mostra que não podemos substituir este método.


26) Explique os vários valores de escopo para marcação.

tag é usada para usar qualquer objeto java na página jsp. Alguns valores de escopo são:

1) aplicação

2)solicitação

3)página

4)sessão


27) Mostre os 2 tipos de comentários em JSP.

Os 2 tipos são:

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

28) O método estático pode ser substituído?

Podemos declarar métodos estáticos com a mesma assinatura na subclasse, mas isso não é considerado uma substituição, pois não haverá nenhum polimorfismo em tempo de execução. Portanto a resposta é 'Não'.


29) Explique as diretivas JSP.

Diretivas JSP são mensagens para o JSP Engine. Eles servem como uma mensagem de página para contêiner e controlam o processamento de toda a página. Eles podem definir valores globais como declaração de classe. Eles não produzem saída e estão entre <%@….%>


30) Explique as diretivas da página.

As diretivas de página informam o mecanismo JSP sobre cabeçalhos e recursos que a página recebe do ambiente. Ele é encontrado no topo de todas as páginas JSP. Sua sintaxe é <%@ page attribute=”value”>


31) Mostrar atributos de diretivas de página.

  1. Sessão: Mostra se os dados da sessão estão disponíveis para a página.
  2. Importar: mostra pacotes que são importados.
  3. éELIgnorado: Mostra se as expressões EL são ignoradas quando JSP é traduzido em um servlet.
  4. tipo de conteúdo: permite ao usuário especificar o tipo de conteúdo da página.

32) O que é a diretiva Incluir?

A diretiva include insere estaticamente o conteúdo de um recurso no JSP atual. Ajuda na reutilização de código sem duplicação. e inclui o conteúdo do arquivo no momento da tradução. Sua sintaxe é a seguinte <%@ include file=”Filename”%>.


33) Quais são as ações padrão em JSP?

Eles afetam o comportamento geral do tempo de execução de uma página e a resposta enviada ao cliente. Eles são usados ​​para incluir um arquivo no momento da solicitação, para instanciar um JavaBean ou encontrar um. Eles também são usados ​​para gerar um código específico do navegador ou encaminhar uma solicitação para uma nova página.


34) Explique a ação jsp:setProperty.

É usado para fornecer valores às propriedades dos beans que foram referenciados anteriormente.


<jsp:setProperty name=”ABC” propriedade=”myProperty”…

jsp:setproperty é executado mesmo se um novo bean for instanciado ou se um bean existente for encontrado.

Adicionando ao final do código, a condição de execução é invertida, ou seja, não é executado se o objeto existente for encontrado e somente se um novo objeto for instanciado.


35) Defina Bloco Estático.

É usado para iniciar o membro de dados estáticos. Ele é executado antes do carregamento da classe.


36) Explique a ação jsp:plugin.

Esta ação auxilia na inserção de um objeto específico no navegador ou incorpora o elemento necessário para especificar a execução do applet utilizando o plugin Java.


37) Explique a validação do lado do cliente e do servidor.

Javascript é usado para a validação do lado do cliente. Acontece dentro do navegador. Javascript é usado para enviar os dados do formulário se a validação for bem-sucedida. Erros de validação não exigem nenhuma viagem extra à rede porque o formulário não pode ser enviado.

A validação também é realizada no servidor após o envio. Se a validação falhar, será necessária uma viagem extra à rede para reenviar o formulário ao cliente.


38) O que é Fase de Tradução?

O mecanismo JSP traduz e compila um arquivo JSP em um servlet. Este servlet passa para a fase de execução onde as solicitações e respostas são tratadas. Eles são compilados pela primeira vez em que são acessados, a menos que sejam compilados manualmente com antecedência. A compilação manual ou explícita é útil para programas longos e complicados.


39) Execute um redirecionamento de navegador a partir de uma página JSP.

<% response.sendRedirect(URL); %>

ou podemos alterar a localização do atributo do cabeçalho HTTP da seguinte forma:

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

40) Dê usos de clonagem de objetos.

A clonagem de objetos é usada para criar uma cópia exata de um objeto digitando o mesmo código ou usando várias outras técnicas.


41) Como encaminhar uma solicitação para outra fonte.

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

42) Como evitar a criação automática de sessão em uma página JSP?

A página JSP cria automaticamente sessões para solicitações. Digitando o seguintewing, isso pode ser evitado.

<%@ page session=”false”  %>

43) Como você pode evitar o código scriptlet em JSP?

JavaBeans ou tags personalizadas podem ser usados ​​em vez do código scriptlet.


44) Explique o método jspDestroy().

Sempre que uma página JSP está prestes a ser destruída, o contêiner invoca o método jspDestroy() da interface javax.servlet.jsp.JspPage. Os métodos de destruição de servlets são semelhantes a ele. Ele pode ser facilmente substituído para realizar a limpeza, como ao fechar uma conexão com o banco de dados.


45) Explique o Ação.

É uma ação usada com ações padrão de inclusão ou encaminhamento. Ajuda a passar os nomes e valores dos parâmetros para um recurso.


46) Explique o método estático.

Um método estático é da classe e não do objeto de uma classe. Pode ser invocado sem instância de uma classe. Os membros estáticos também podem acessar os dados estáticos e alterar seu valor.


47) Como desabilitar scripts?

O script pode ser facilmente desabilitado definindo o elemento scripting-invalid do descritor de implantação como true. É um subelemento do grupo de propriedades. Também pode ser falso.


48) Defina a Declaração JSP.

Declaração JSP são tags usadas na declaração de variáveis. Eles estão entre a tag <%!%>. Eles são usados ​​na declaração de funções e variáveis.

<%@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) Como evitar que a saída HTML seja armazenada em cache?

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

50) Como o JSP é melhor que a tecnologia Servlet?

JSP é uma tecnologia do lado do servidor para simplificar a geração de conteúdo. Eles são centrados em documentos, enquanto os servlets são programas. Uma página do servidor Java pode conter fragmentos de Programa Java, que executam e instanciam classes Java. No entanto, eles ocorrem dentro do arquivo de modelo HTML. Ele fornece a estrutura para o desenvolvimento de um aplicativo da Web.

Essas perguntas da entrevista também ajudarão em sua viva (oral)