Questão nº 34

Questão de Java EE · FCC TRE-PR 2017 (nº 34)

FCC2017Analista Judiciário - Área Apoio Especializado - Especialidade Análise de SistemasJava EE
Gabarito: Bver comentário ↓

Em uma aplicação web que utiliza JavaBeans há a seguinte classe:

```java
package user;
public class User {
private String user="João";
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
}
```

Ao executar a aplicação, comandos da página index.jsp exibiram no navegador o conteúdo abaixo.

Usuário: João

Os comandos que estão no corpo da página index.jsp são:

Resposta comentada

Gabarito Alternativa B

JSP (JavaServer Pages) permite criar páginas web dinâmicas misturando HTML com código Java. JavaBeans são classes Java que seguem um padrão específico (construtor sem argumentos, métodos get e set para propriedades) e são usadas para encapsular dados, sendo facilmente manipuladas por JSP.

  • (A) Incorreta: Embora o código <% User u=new User();%> e ${u.user} funcione e produza o resultado esperado (instanciando o JavaBean e acessando sua propriedade via Expression Language), a questão busca a forma padrão de interagir com JavaBeans usando as ações JSP dedicadas. Esta é a armadilha mais tentadora, pois o código é funcional, mas não utiliza as tags específicas de JSP para JavaBeans.
  • (B) Correta: A tag <jsp:useBean id="u" class="user.User" /> é a ação JSP padrão para encontrar ou criar uma instância da classe user.User e associá-la ao ID u. A tag <jsp:getProperty name="u" property="user" /> é a ação JSP padrão para acessar o valor da propriedade user (chamando o método getUser()) do JavaBean com o ID u e exibi-lo na página. Juntas, elas representam a maneira correta e idiomática de usar JavaBeans com ações JSP.
  • (C) Incorreta: A tag <%! u.getUser();%> é um scriptlet de declaração, usado para declarar variáveis ou métodos na classe gerada pelo JSP, não para executar código que produz saída. Para exibir o valor de uma expressão, seria necessário usar um scriptlet de expressão (<%= u.getUser() %>). Além disso, u seria uma variável local do scriptlet anterior, não acessível diretamente no scriptlet de declaração.
  • (D) Incorreta: Não existe uma ação JSP padrão chamada <jsp:setBean>. A ação correta para instanciar ou referenciar um JavaBean é <jsp:useBean>.
  • (E) Incorreta: A tag <jsp:useBean> usa o atributo id para nomear o JavaBean, não obj. Além disso, não existe uma ação JSP padrão chamada <jsp:getUser>; a ação correta para obter uma propriedade é <jsp:getProperty>.

Fonte: FCC TRE-PR 2017 Analista Judiciário - Área Apoio Especializado - Especialidade Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho