Anda di halaman 1dari 7

Questes Comentadas JAVA

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

Questes Comentadas JAVA


TRT 13 Regio
Professor Welder Luz
Professor Fabiano Torres

public int getValor1( ) {return valor1;}


public void setValor1(int valor1) {this.valor1 = valor1;}
public int getValor2( ) {return valor2;}
public void setValor2(int valor2) {this.valor2 = valor2;}
public int getTotal( ) {return total;}
public void setTotal(int total) {this.total = total;}
}

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

Questes Comentadas JAVA


TRT 13 Regio
Professor Welder Luz
Professor Fabiano Torres

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)

name="Identifier" property="Identfiier" param="string"

(2)

name="Identifier" property="Identifier" value="string"

(3)

Perceba que existem apenas 3 opes para uso correto:


1.

Informar o nome do bean (name=identifier) com a propriedade *;

2.

Informar o nome do bean, o nome da propriedade (property=identifier) e utilizar

um parmetro para invocar o mtodo setter (param=string).


3.

Informar o nome do bean, o nome da propriedade passar o valor literalmente

(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

Questes Comentadas JAVA


TRT 13 Regio
Professor Welder Luz
Professor Fabiano Torres

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

classe e tabelas do banco de dados, utilizando anotaes como @Table,

@Entity,

@PrimaryKey, @Column, @Constraint, @Foreignkey e @EJB.

(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

seja, o desenvolvedor no precisa conhecer SQL para programar.


(D) as configuraes de acesso a banco de dados normalmente ficam no arquivo
persistence.xml, ligado aplicao, de forma que se for alterado o servidor de

banco de dados no seja necessrio alterar o cdigo-fonte Java da aplicao.


(E) as relaes existentes entre as tabelas do banco de dados no so refletidas nas
classes de entidade criadas na aplica-o, o que torna a execuo mais rpida. O
mapeamento de relaes feito em tempo de execuo pelas bibliotecas do
provedor

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

Questes Comentadas JAVA


TRT 13 Regio
Professor Welder Luz
Professor Fabiano Torres

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.

Questo 34: Considere a classe Java abaixo:


public class Principal {
public static void main(String[ ] args) {
int r[ ] = new int[8];
int i = 0;
int n = 70;
while (n > 0) {
r[i] = n % 2;
n = n / 2;
i++;
}
www.tiparaconcursos.net

Pgina 5 de 7

Questes Comentadas JAVA


TRT 13 Regio
Professor Welder Luz
Professor Fabiano Torres

int cont = (r.length - 1);


for (;cont >= 0; cont--) {
System.out.print(r[cont]);
}
}
}

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

Questes Comentadas JAVA


TRT 13 Regio
Professor Welder Luz
Professor Fabiano Torres

ordem inversa, logo, alternativa (E).mas internacionais e do CPC. 2. ed. So Paulo: Atlas,
2013.

www.tiparaconcursos.net

Pgina 7 de 7

Anda mungkin juga menyukai