TRT 13 Regio
Professor Welder Luz
Professor Fabiano Torres
Ol Concurseiros de Planto!
O professor Welder Luz divulgou questes comentadas de JAVA da prova do TRT 13 Regio
Cargo Tcnico.
Questo 31: Considere uma aplicao Java Web que possui os arquivos abaixo:
index.html
<html>
<head><title>Cadastro</title> </head>
<body>
<form method="post" action="form.jsp">
<p>Primeiro valor: <input type="text" name="valor1"> </p>
<p>Segundo valor: <input type="text" name="valor2"> </p>
<p><input type="submit" value="Enviar"> </p>
</form>
</body>
</html>
SomaBean.java
package bean;
public class SomaBean {
private int valor1;
private int valor2;
private int total;
public SomaBean( ) { }
www.tiparaconcursos.net
Pgina 1 de 7
form.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head><title>Exibio</title></head>
<body>
<jsp:useBean id="somaBean" class="bean.SomaBean" scope="request" />
<jsp:setProperty name="somaBean" property="total"
value="<=somaBean.getValor1() + somaBean.getValor2()%>"/>
<p>O
valor
total
<jsp:getProperty
name="somaBean"
property="total"/></p>
</body>
</html>
Comentrio:
As instrues <jsp:setValue> e <jsp:processRequest> sequer existem na taglib padro
do JSP o que elimina as alternativas (A), (C) e (E).
www.tiparaconcursos.net
Pgina 2 de 7
Para dirimir uma eventual dvida entre as alternativas (B) e (D) vejamos o que diz a
documentao da taglib padro do JSP sobre o elemento setProperty:
Exact valid combinations are not expressable in XML Schema. They are:
name="Identifier" property="*"
(1)
(2)
(3)
2.
(value=string).
A alternativa (B) possui at assinatura correta do uso da tag (caso n 2 explicado
anteriormente), entretanto, percebam que ele utiliza uma propriedade chamada all, neste
caso o que o continer tentar fazer invocar o mtodo setAll() no bean em questo.
Obviamente uma bela exceo ser retornada nesta tentativa. O que a banca tentou fazer
foi confundir utilizando esta palavra all como sendo um literal para setar todos os
atributos (funo tipicamente exercida pelo astersco).
Deste modo, a nica alternativa restante o item (B).
www.tiparaconcursos.net
Pgina 3 de 7
Questo 32: Java Persistence API (JPA) uma API padro da linguagem Java para
persistncia de dados em bancos de dados relacionais. Em uma aplicao que utiliza JPA
(A) pode ser utilizada, como provedor de persistncia, as bibliotecas EclipseLink,
Hibernate, OracleTopLink, JBossSeam e JDBCProvider.
(B) as classes de entidade do banco de dados permitem o mapeamento entre
objetos da
@Entity,
(C) todas as operaes realizadas nas tabelas do banco de dados, como insero de
dados, alterao, consultas e excluso, so realizadas sem o uso de instrues SQL,
ou
de persistncia.
Comentrio:
Alternativa (A): Os provedores de persistncia que eu conheo (estou listando os que
conheo porque teoricamente qualquer um pode criar um provedor de persistncia a
qualquer momento, basta seguir a especificao): Hibernate, TopLink, Open JPA e
EclipseLink. Jboss Seam e JDBCProvider no tem absolutamente nada a ver com provimento
de persistncia. O primeiro um framework bastante disseminado no desenvolvimento Java
para Web principalmente nas partes de injeo de dependncia e gerencimaneto de escopos
e objetos. J o segundo sequer biblioteca, apenas uma grande viagem da banca.
Alternativa (B): O nico erro da alternativa foi citar a anotao @PrimaryKey. Esta anotao
no existe na especificao da JPA. Para definir chaves primrias a anotao correta @Id
ou @EmbeddedId, conforme for o caso.
www.tiparaconcursos.net
Pgina 4 de 7
Alternativa (C): Nesta alternativa o erro est no excesso. at possvel fazer insero
(entityManager.persist), alterao (entityManager.merge), consultas (Criteria) e excluso
(entityManager.remove) sem utilizar SQL, porm, da a concluir que o desenvolvedor de uma
aplicao que utiliza JPA no precisa conhecer SQL para programar um passo muito
grande. Mesmo com as facilidades oferecidas pela JPA, o desenvolvedor continua precisando
conhecer de SQL para desenvolver a aplicao. Alguns casos s SQL nativo capaz de
resolver algum problema. No atoa que existem interfaces para execuo de query nativa
na JPA (entityManager.createNativeQuery).
Alternativa (D): Item perfeito. De fato, as configuraes de acesso ao banco de dados podem
ficar no persistence.xml e isso permite uma mudana de servidor de banco de dados sem ter
que alterar cdigo Java.
Alternativa (E): Muito pelo contrrio do afirmado no item, as relaes (acredito que a banca
se referiu a relacionamentos, porque relaes so sinnimos de tabelas no mundo
relacional) devem sim ser refletidas nas classes de entidade. para isso que existem as
anotaes @JoinColumn, @OneToOne, @ManyToOne, etc.
Pgina 5 de 7
Comentrio:
Questo que aborda diversos conhecimentos de programao Java. Inicialmente,
perceba que o array de inteiros chamado de r na linha 3 do cdigo apresentado
populado sempre na linha 7 com o resultado da operao mod (%). Sabendo que a operao
mod retorna o resto de uma diviso e que qualquer diviso por 2 (como o caso) ter
como resto 0 para nmeros pares e 1 para nmeros mpares j possvel eliminar as
alternativas (B), (C) e (D).
Para dirimir a dvida entre as alternativas (A) e (E) basta uma pequena anlise do
povoamento do array r atravs do loop while iniciado na linha 6. Perceba que o valor
inicial da varivel n 70, logo, o mod retornar 0, ento o primeiro valor (ndice 0 (zero))
do array receber o valor 0 (zero). Perceba que na linha 8, a varivel n tem seu valor
alterado para a sua prpria metade, ficando ento com o valor 35. Continuando o raciocnio,
o mod de 35 por 2 (35 % 2) 1, logo, o segundo valor (ndice 1) do array 1. Mais um passo
no loop e a varivel n passa a ser a metade de 35 que 17 (se voc pensou que poderia ser
17,5 ou pensou que ocorreria um erro de compilao por tentar atribuir float a int, revise
atribuio de valores inteiros em Java). O terceiro valor do array (ndice 2) ser o mod de 17
com 2 que 1. Pronto, a questo est resolvida. Neste momento o candidato se empolga e
fala eu tenho 3 valores (0, 1 e 1) ento a resposta alternativa (A), resultado: erra! Perceba
que no foreach iniciado na linha 12 a exibio dos valores do array na ordem invertida,
deste modo a alternativa correta a que apresenta os trs valores no final do array em
www.tiparaconcursos.net
Pgina 6 de 7
ordem inversa, logo, alternativa (E).mas internacionais e do CPC. 2. ed. So Paulo: Atlas,
2013.
www.tiparaconcursos.net
Pgina 7 de 7