As 50 principais perguntas da entrevista JSP & Respostas

Anonim

baixar PDF

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 as plataformas J2EE da SUN. Eles são como páginas HTML, mas com pedaços de código Java embutidos neles. 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.

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

Uma coleção de tags personalizadas é chamada de Biblioteca de tags. Tarefas recorrentes são manipuladas com mais facilidade e reutilizadas em vários aplicativos para aumentar a produtividade. Eles são usados ​​por designers de aplicativos da Web que se concentram na apresentação, em vez de acessar banco de dados ou outros serviços. Algumas bibliotecas populares são String tag library e Apache display tag library.

3) Explique a tecnologia JSP.

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

4) Explique objetos implícitos em JSP.

Os 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 de objetos implícitos. Eles estão :

  • resposta
  • exceção
  • inscrição
  • solicitação
  • sessão
  • página
  • Fora
  • config
  • pageContext

5) Como podem ser evitados envios múltiplos devido a cliques no botão de atualização?

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

1) Um formulário preenchido pelo usuário é enviado ao servidor usando 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 para 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 vários envios, 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

…>.

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

sendRedirect enviar 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 requisição subsequente pode ser acessada com o código de servlet de alguém, se um atributo de requisição já foi enviado em seu JSP?

A solicitação sai do escopo, portanto, não pode ser acessada. No entanto, se um atributo de pedido 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, em seguida, 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 de inclusão JSP. Desta forma, a inclusão é realizada na fase de tradução uma vez. Observe que um URL relativo deve ser fornecido para o atributo de arquivo. Embora recursos estáticos possam ser incluídos, não é preferível, pois cada solicitação requer inclusão.

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

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

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 por 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?

Configurando um atributo “ErrorPage” do diretório PAGE para o nome da página de erro na página JSP e, em seguida, no conjunto de páginas de erro jsp “isErrorpage =” TRUE ”, a exibição de erros pode ser interrompida.

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

Eles 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 no nome da ação.

15) Diferencie entre e <% @ include file =…>.

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 cada vez 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 é textualmente embutido 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 as versões anteriores do Java não podiam chamar construtores com argumentos dinamicamente. Portanto, eles não puderam atribuir um servletConfig. Hoje, no entanto, os contêineres de servlet ainda chamam apenas o construtor sem arg. Portanto, não há acesso a 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 precedido todos os outros métodos. 2)

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

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

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

Eles 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 é

<% = expressão%>

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 a composição.

A composição tem uma relação mais forte com o objeto do que a agregação.

21) Defina JSP Scriptlet.

É uma tag JSP que inclui o código Java nas páginas JSP. Sua sintaxe é <%%>. 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 tag nos permite passar informações entre vários Jsp's.

23) Explique os usos da tag .

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

Esta tag cria uma instância de java bean. Em primeiro lugar, ele tenta descobrir se a instância do bean já existe e atribuir armazena uma referência na variável. O tipo também é especificado; caso contrário, ele instancia a partir da classe especificada, armazenando uma referência na nova variável.

24) Explique como lidar com exceções de tempo de execução.

O atributo Errorpage é usado para desbloquear 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 houver alguma exceção não detectada durante o tratamento da solicitação. É uma página de processamento de erro.

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

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

26) Explique os vários valores de escopo para a tag .

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

1) aplicação

2) pedido

3) página

4) sessão

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

Os 2 tipos são:

<%-JSP Comment-%>

28) O método estático pode ser anulado?

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

29) Explique as diretivas JSP.

As 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 incluídos em <% @….%>

30) Explique as diretivas do pge.

As Diretivas da página informam o JSP Engine 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 de uma sessão estão disponíveis para a página.

2) Importar: mostra os pacotes que são importados.

3) isELIgnored: Mostra se as expressões EL são ignoradas quando JSP é traduzido em um servlet.

4) contentType: permite ao usuário especificar o tipo de conteúdo da página.

32) O que é a diretiva de inclusão?

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 localizar 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 dar valores às propriedades dos beans que foram referenciados anteriormente.

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

Ao adicionar no 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) Definir bloco estático.

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

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

Esta ação ajuda na inserção de um objeto específico no navegador ou embute o elemento necessário para especificar a execução do miniaplicativo usando o plugin Java.

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

Javascript é usado para validação do lado do cliente. Ele ocorre dentro do navegador. Javascript é usado para enviar os dados do formulário se a validação for bem-sucedida. Os erros de validação não requerem uma viagem de rede extra 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, uma viagem de rede extra é necessária para reenviar o formulário ao cliente.

38) O que é a 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 e 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 do navegador a partir de uma página JSP.

<% response.sendRedirect(URL); %>

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

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

40) Forneça usos para a clonagem de objetos.

A clonagem de objeto é 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.

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

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

<%@ page session=”false” %>

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

JavaBeans ou Custom Tags podem ser usados ​​no lugar 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 chama o método jspDestroy () da interface javax.servlet.jsp.JspPage. Os métodos de destruição dos servlets são semelhantes a ele. Ele pode ser facilmente substituído para realizar uma limpeza, como ao fechar uma conexão de banco de dados.

45) Explique a ação .

É uma ação usada com incluir ou encaminhar ações padrão. 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 pertence à classe e não ao objeto de uma classe. Ele pode ser invocado sem instância de uma classe. Membros estáticos também podem acessar os dados estáticos e alterar seu valor.

47) Como desabilitar o script?

O script pode ser facilmente desativado definindo o elemento inválido de script do descritor de implantação como verdadeiro. É 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 ​​para declarar funções e variáveis.

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

Values of a are:

<%=getCount()%>

49) Como a saída HTML pode ser impedida de ser armazenada em cache?

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

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

JSP é uma tecnologia do lado do servidor para simplificar a geração de conteúdo. Eles são centrados no documento, enquanto os servlets são programas. Uma página de 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.