José Malcher Jr.

Eng. Software – Analista de Sistemas

Lista de Exercícios de Projeto e Implementação Orientado a Objeto – Lista 5 ( 10 Questões)


Questão 1
Os filtros possibiltam que seja interceptada uma solicitação antes de ela atingir um recurso.
Dentre as alternativas abaixo, qual não se enquadra com relação a Filtragem de Servlet?:
a) Um objeto FilterConfig representa a configuração para o filtro.
b) Um objeto FilterChain é psassado pelo container ao método do Filter, da classe de filtro.
c) O método doFilter é onde a filtragem é realizada.
d) Para desenvolver um filtro é necessoário implementar as interfaces RequestFilter e/ou ResponseFilter.
e) O método init do filtro é chamado apenas uma vez, pelo Container Servlet.


Questão 2
(Head First Servlets & JSP/2005) Quais afirmativas são verdadeira sobre declaração de filtro no Deployment Descriptor(DD):
a) Ao contrário dos servlets, os filtros não podem declarar parâmetros de inicialização.
b) A ordem da cadeia de filtros é sempre determinada pela ordem em que os elementos aparecem no DD.
c) Uma classe que estenda uma classe wrapper de solicitação ou de resposta API deve ser declarada no DD.
d) a ordem na cadeia de filtros é afetada por se declarar os mapeamentos dos filtros por meio de <url-pattern> ou de <servlet-name>.
e) Uma classe que estenda uma classe wrapper de solicitação ou de resposta API está usando o padrãp Intercepting Filter.


Questão 3

(Head First Servlets & JSP/2005) Dado o seguinte deployment parcial: (imagem não condiz…)

java05_01
Qual afirmativa é verdadeira?
a) O arquivo é inválido, porque o padrão URL /my está mapeado tanto a um servlet quanto a um filtro.
b) O arquivo é inválido, porque nem o nome do servlet nem o do filtro podem conter espaços.
c) O filtro MyFilter será invocado depois do servlet MyServlet para cada solicitação que coincidir o padrão /my.
d) O filtro MyFilter será invocado antes do servlet MyServlet para cada solicitação que coincidir com o padrão /my.
e) O arquivo é inválido, porque o elemento deve conter um elemento que defina a qual servlet o filtro deve ser aplicado.


Questão 4
(Head First Servlets & JSP/2005) Quais afirmativas sobre os filtros são verdadeiras:
A -> Os filtros podem ser usados para criar wrappers de solicitação ou de resposta;
B -> Os wrappers podem ser usados para criar filtros de solicitação ou de resposta;
C -> Ao contrário dos Servlets, todo o código de inicialização dos filtros deve ser colocado no construtor, uma vez que não há um método init();
D -> Os filtros suportam um mecanismo de inicialização que inclui um método init() que garantidamente será chamado antes de o filtro ser usado para manipular solicitações.
E -> O método do Filter() de um filtro deve chamar o doFilter() para o objeto FilterChain de input, para garantir que todos os filtros tenham uma chance de serem executados;
F -> Ao chamar o doFilter() para o FilterChain de input, o método doFilter() de um filtro deve passar os mesmo objetos;
G -> O doFilter() de um filtro pode bloquear subsequentes processamentos de solicitações.

a) A, B e G.
b) B, D e F.
c) A, D e G
d) C, E e F
e) B, C e


Questão 5
(TCE-RS/2014) Em uma aplicação web criada com a versão mais recente do Java EE o conteúdo dos campos id, nome e salario de um formulário são submetidos ao arquivo JSP abaixo:

java_05-02

Considere a existência de uma classe chamada Funcionario.java no pacote bean, que possui os atributos id, nome e salario. Para instanciar um objeto desta classe, a lacuna I pode ser preenchida com a tag:

a) <jsp:setInstance id=”func” class=”bean.Funcionario” scope=”all” />;

b) <jsp:setProperty name=”func” class=”bean.Funcionario” scope=”yes” />;

c) <jsp:useBean name=”func” class=”bean.Funcionario” scope=”application” />;

d) <jsp:setBean id=”func” class=”bean.Funcionario” scope=”application” />;

e) <jsp:useBean id=”func” class=”bean.Funcionario” scope=”request” />;


Questão 6

(IFSP-2011) Qual o resultado apresentado no browser após a execução do código JavaServer Pages – JSP abaixo.

java-05-03

a) Bom dia boa noite

b) Bom dia

c) Boa noite

d) Boa noite boa noite

e) Bom dia bom dia


Questão 7

Qual o resultado apresentado no browser após a execução do código JavaServer Pages – JSP abaixo.

java05-04

  1. a) Saída 1
  2. b) Saída 2 Saída 5
  3. c) Saída 2 Saída 3 Saída 4
  4. d) Saída 2 Saída 3 Saída 4 Saída 5
  5. e) Saída 2

Questão 8

Qual o resultado apresentado no browser após a execução do código JavaServer Pages – JSP abaixo:

java-05-05

a) Oswaldo 30 Gisele 25 Giovanna 6 Giulianna 4.

b) Gisele 25 Giovanna 6 Giulianna 4.

c) Oswaldo 30 Giovanna 6.

d) Gisele 25 Giulianna 4

e) Giovanna 6


Questão 9

Qual o resultado apresentado no browser após a execução do código JavaServer Pages – JSP abaixo:

java-05-06

a) 10

b) 0

c) 20

d) Erro

e) 2


Questão 10

(AL-RR) A JSTL (JSP Standard Tag Library) é uma biblioteca padrão de tags JSP. Assinale a alternativa que NÃO condiz com os recursos oferecidos pela JSTL:

a) Criar páginas Web dinâmica sem a necessidade de inserir código Java nas mesmas.

b) Utilizar alguns “tags” pré-definidos que realizam determinadas ações.

c) Utilizar o tag que realiza a ação de repetição, similar ao “while” do Java.

d) Utilizar o tag que atribui um valor a uma variável dentro de um determinado escopo.

e) Diminuir a quantidade de acessos e interação com os objetos Java.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


RESPOSTAS

Questão 1 – D

Justificativa: Para desenvolver um filtro é necessário implementar a interface Filter. As demais opções estão corretas.

Questão 2 – D

Justificativa: • Ao contrário dos servlets, os filtros não podem declarar parâmetros de inicialização -> Errada. Pode-se declarar parâmetros de inicialização. Como exemplo, podemos usar as tags <init-param> e </init-param>; para configurar os parâmetros iniciais do filtro.

  • A ordem da cadeia de filtros é sempre determinada pela ordem em que os elementos aparecem no DD. -> Errada, porque mapeamentos <url-pattern> são encadeados antes de mapeamentos <servlet-name>;
  • Uma classe que estenda uma classe wrapper de solicitação ou de resposta API deve ser declarada no DD. -> Errada. Não precisam ser declarada no Deployment Descriptor. Exemplo de wrappers: ServletRequestWrapper e ServletResponseWrapper.
  • Uma classe que estenda uma classe wrapper de solicitação ou de resposta API está usando o padrão Intercepting Filter. -> Errada, pois wrappers são exemplos do padrão Decorator.

Questão 3 – D

Justificativa: • O arquivo é inválido, porque o padrão URL /my está mapeado tanto a um servlet quanto a um filtro. -> Errada, porque esta sintaxe é usada para mapear um filtro ao meso padrão como um servlet.

  • O arquivo é inválido, porque nem o nome do servlet nem o do filtro podem conter espaços. -> Errada, porque não existe restrição.
  • O filtro MyFilter será invocado depois do servlet MyServlet para cada solicitação que coincidir o padrão /my. -> Errada, porque os filtros são executados antes dos servlets e não depois.
  • O arquivo é inválido, porque o elemento <filter> deve conter um elemento <servlet-name> que defina a qual servlet o filtro deve ser aplicado. -> Errada, porque podem ser usados tanto elementos <servlet-name> quanto <url-pattern> dentro de um elemento <filter-mapping>

Questão 4 – C

Justificativa: B -> Os wrappers podem ser usados para criar filtros de solicitação ou de resposta; ->Errada, porque a terminologia está ao contrário.

C -> Ao contrário dos Servlets, todo o código de inicialização dos filtros deve ser colocado no construtor, uma vez que não há um método init(); -> Errada, porque há um método init que deve ser usado para inicialização de filtros.

E -> O método do Filter() de um filtro deve chamar o doFilter() para o objeto FilterChain de input, para garantir que todos os filtros tenham uma chance de serem executados; -> Errada, porque chamar doFIlter() não é necessário, caso o filtro deseje bloquear processamntos subsequentes de solictações.

F -> Ao chamar o doFilter() para o FilterChain de input, o método doFilter() de um filtro deve passar os mesmo objetos; -> Errada, porque o filtro pode escolher “embrulhar”o objeto solicitação ou resposta, e passar as versões embrulhadas, em vez de originais.

Questão 5 – E

Justificativa: A sintaxe básica correta é:

<jsp:useBean id = “xxxx” class = “yyyy” scope = “zzzz”/>

Onde:

xxxx = identificador para o objeto bean.

yyyy = Declara o tipo da classe, completamente qualificada, para o objeto bean.

zzzz = identifica o atributo do escopo para este objeto.(page/request/session/application)

Questão 6 – C

Justificativa: • A variável contador recebe o valor 10;

  • A variável contador recebe o valor o resto da divisão de 10 por 10, que é 0;
  • Ocorre o teste para verificar se o valor é igual a 1. Como é 0, é executado a linha <c:out value=”bom noite”></c:out> que está no else, exibindo assim boa noite.

Questão 7 – E

Justificativa: Na linha <c:set var=”aux” scope=”session” value=”${2000*2}”/> a variavel aux recebe o valor 4000(2000*2).

Nesta linha Saída é exibido em negrito a palavras Saída.

Logo após são efetuados os testes lógicos. O primeiro teste que satisfaz a condição é <c:when test=”${aux <= 2000}”>. Então é exibido 2.

Questão 8 – E

Justificativa: • São criados 4 Mapas contendo nome e idade conforme discriminado abaixo:

o Oswaldo, 30.

o Gisele, 25.

o Giovanna, 6.

o Giulianna, 4.

  • Todos os mapas são adicionados a um ArrayList que é configurado como um atributo chamado pessoas.
  • <c:forEach> incrementa de 2 em 2, sendo iniciado pela posição 2. Como o primeiro indice é 0(Oswaldo), a posição 2 Corresponde a Giovanna.

 

Questão 9 – D

Justificativa: • É atribuido os valores 10 e 0 respectivamente às variáveis num1 e num2.

  • É atribuido o valor 20 ao atributo num2.
  • A divisão das variáveis num1 / num2 (10/0) vai gerar um erro que será capturado pela variável erro.
  • É efetuado o teste para verificar se a variável erro é diferente de null. Como não é, será exibido o atributo num2(20).

Questão 10 – E

Justificativa: A JSTL não diminui a quantidade de acessos. Apenas facilita a codificação pois diminui ou até elimina a inserção de código Java, facilitando muito o desenvolvimento de páginas Web dinâmicas.

 

 


Material retirado da Web.

Se você tiver alguma dúvida ou correção a fazer, por favor, comente! Obrigado!

novembro 9th, 2016

Posted In: Engenharia de Software, Exercícios, Projeto e Implementação Orientado a Objeto

Tags:, ,