SóProvas



Questões de Frameworks Java


ID
27298
Banca
FCC
Órgão
TRE-SE
Ano
2007
Provas
Disciplina
Programação
Assuntos

Sendo um grupo de classes e componentes responsáveis pelo armazenamento e recuperação de dados, esta camada inclui necessariamente um modelo das entidades do domínio de negócios (mesmo que seja somente um modelo de metadados). No âmbito do mapeamento objetorelacional (hibernate) esta é a camada de

Alternativas
Comentários
  • Camada de Apresentação: a camada de apresentação está no topo da arquitetura.É responsável, principalmente, por implementar a parte da aplicação na qual o usuário deve interagir. A saber, controle do fluxo de páginas e preenchimento de formulários;Camada de Negócio: esta camada é responsável em implementar todo códigoresponsável pela lógica de negócio. Boa parte da complexidade do sistema éimplementada e resolvida por esta camada;Camada de Persistência: a camada de persistência compreende o grupo de classesresponsáveis em persistir dados e informações, como também, recuperá-los de egerenciá-los de forma eficiente.
  • Apresentação

    Negócio

    Persistência

    Camada de Apresentação: Lógica de interface do usuário (GUI). O código responsável pela apresentação e controle da página e tela de navegação forma a camada de apresentação;

    Camada de Negócios: Código referente a implementação de regras de negócio ou requisitos do sistema;

    Camada de persistência: Responsável por armazenamento e recuperação dos dados quando solicitado. objetivo é o de garantir uma independência da fonte de dados (arquivos, bancos de dados, etc) e ao mesmo tempo manter as informações entre diferentes sessões de uso.

    Arquitetura MVC

    Model – Representa os dados da aplicação e as regras de negócio (business logic)

    View – Representa a informação recebida e enviada ao usuário

    Controller – Recebe as informações da entrada e controla o fluxo da aplicação


ID
70327
Banca
FCC
Órgão
TRT - 3ª Região (MG)
Ano
2009
Provas
Disciplina
Programação
Assuntos

O componente ActionMapping do Struts implementa o padrão de projeto

Alternativas
Comentários
  • Decorator Adciona responsabilidades adicionais a um objetode forma dinâmica.

ID
105583
Banca
FCC
Órgão
DPE-SP
Ano
2010
Provas
Disciplina
Programação
Assuntos

JBoss é um servidor de aplicação de código fonte aberto baseado na plataforma J2EE implementada completamente na linguagem de programação Java. Em relação a JBoss Seam é INCORRETO afirmar que

Alternativas
Comentários
  • Algumas definições:

    - Contextos definidos pelo Seam: Stateless, Event (requisição), Page, Conversation (unidade de interação), Session (sessão do usuário), Application, Business Process (processo de negócio de longa duração)

    - JBoss Seam faz todo o “trabalho sujo” da integração entre JSF e EJB3, deixando o desenvolvedor mais concentrado no domínio de negócios sendo modelado.

    - JBoss Seam pode se integrar com Spring, Hibernate, Portlets, JPA, iText, EJB;

  • • Aplicativos com Seam podem ou não usar EJBs;
    • Seam pode se integrar com Spring, Hibernate, EJBs, Portlets, JPA,
    iText;
    • Seam pode rodar em qualquer servidor Java EE 5 ou Tomcat;

    RESP. LETRA C
  • Nesse blog há uma boa definição sobre contextos jboss seam
    http://blog.spock.com.br/2008/07/sobre-os-contextos-do-jboss-seam.html

ID
106180
Banca
FCC
Órgão
PGE-RJ
Ano
2009
Provas
Disciplina
Programação
Assuntos

Usando Hibernate, o mapeamento de uma relação de herança pode ser feito usando uma tabela por

Alternativas
Comentários
  •  O Hibernate suporta três estratégias de mapeamento de herança

     

    • Uma tabela por hierarquia de classes
    • Uma tabela por subclasse
    • Uma tabela por classe concreta (polimorfismo implicito)
    • Não é possível misturar as estratégias para um mesmo mapeamento de classe

     

    http://www.dsc.ufcg.edu.br/~jacques/cursos/daca/html/hibernate/hibernate.

    =
    = Comentários Adicionais (07/11/2011) ==

    Hierarquia de Classes.




    Classe Concreta

    Uma tabela por Subclasse
  • Questão correta, pois realmente existem 3 formas de mapear herança com o Hibernate:
    1) Uma tabela por classe concreta 
     - Dados não normalizados 

     - Depende de um UNION para consultas na superclasse.  

    -  Ideal para hierarquias horizontais  

    2)Uma única tabela para toda hierarquia de classes

     - Utiliza discriminator para diferenciar elementos da hierarquia.

     - Queries são feitas em uma única tabela, que pode se tornar bastante grande. 

     - Modelo mais simples. Modelo default. Ideal para hierarquias com poucas classes.  

    3)Uma tabela por classe da hierarquia 

    - Permite associações e consultas polimórficas  

    - Dados normalizados. Sempre realiza join.  

    - Usado em hierarquias de muitos níveis (verticais).

    Bons estudos!

  • Mesmo acertando, ainda achei a questão um pouco confusa se olhar ao "pé da letra" ou possíveis ambiguidades.

    A questão ainda está levemente mal descrita.

    Pois classes concretas podem ser apenas subclasses de uma classe abstrata.

    Quando ele fala subclasses, chegamos a uma mesma conclusão da afirmativa feita acima, dando exatamente na mesma coisa.

    Hierarquia, não tem nem o que falar.

    Creio que a descrição abaixo seria mais adequada.

    Tabela única para todas as classes (single table)

    Uma tabela para cada classe da hierarquia (joined)

    Uma tabela para cada classe concreta (table per class) 


ID
106183
Banca
FCC
Órgão
PGE-RJ
Ano
2009
Provas
Disciplina
Programação
Assuntos

A Struts Framework, versão 1.3, implementa um pool de Conexões usando

Alternativas
Comentários
  • Gabarito: Letra D
     

    Struts Framework


    A Struts Framework é um projeto open source mantido pela Apache Software Foundation. É uma implementação do design pattern MVC (Model-View-Controller) para aplicações web java. O objetivo do pattern MVC é separar de maneira clara a camada de apresentação (View) da camada de Negócio (Model).

    A arquitetura MVC - Model-View-Controller (Modelo-Visualização-Controle) é um padrão que separa de maneira independente o Modelo, que representa os objetos de negócio (Model) da camada de apresentação, que representa a interface com o usuário ou outro sistema (View); e o Controle de fluxo da aplicação (Controller).
     

    Figura 1 - O Padrão MVC

    A Struts Framework foi criada por Craig McClanahan em Maio de 2000, e desde então vem sendo melhorado pela comunidade open-source. Foi desenvolvida com o objetivo de fornecer uma framework para facilitar o desenvolvimento de aplicações para web.

    A Struts Framework implementa um Connection Pool usando DataSource.
    Motivos para utilizar a Struts Framework Se tornou um padrão de mercado; Garantia de que alguém (Apache Group) irá manter a framework (correção de bugs e novos releases); Integração com a maioria das IDEs de mercado; Não reinventar a roda, focando os seus esforços em regras de negócio; Separar a camada de negócio da camada de apresentação; Já incorpora diversos design patterns; Criação de aplicações padronizadas, facilitando a manutenção; Criação de Aplicações Internacionalizadas; Possibilidade de gerar a saída de acordo com o dispositivo usado (HTML, XHTML, WML, etc); Aumentar a produtividade.
  • Gabarito letra E: 

    Disponivilização uma Conection Pool a partir do DatSource.
  • Data source em grosso modo é um objeto de ligacão, dentro quais pode ser de conexões.

ID
126940
Banca
CESPE / CEBRASPE
Órgão
CEHAP-PB
Ano
2009
Provas
Disciplina
Programação
Assuntos

No framework Hibernate, é comum que uma instância de uma classe persistente tenha três estados específicos. Assinale a opção que contém esses três estados.

Alternativas
Comentários
  • ObjetosTransientes - são objetos que suas instâncias não estão nem estiveram associados a algum contexto persistente ObjetosPersistentes - são objetos que suas instâncias estão associadas a um contexto persistente ObjetosDetached - são objetos que tiveram suasinstâncias associadas aumcontexto persistente, mas que por algum motivo deixaram de ser associadas [1] http://www.scribd.com/doc/33473237/Introducao-ao-Hibernate

     

  •  No Hibernate,  são o três possíveis estados no quais uma instância de uma classe persistente pode estar:

     

    Detached

    Persistent

    Transient.


ID
126976
Banca
CESPE / CEBRASPE
Órgão
CEHAP-PB
Ano
2009
Provas
Disciplina
Programação
Assuntos

O framework Struts é uma camada de controle flexível embasada em tecnologias padronizadas como Java Servlets e JavaBeans. Assinale a opção que apresenta o principal arquivo de controle do framework Struts 1.

Alternativas
Comentários
  • struts-config.xml: Contém detalhes que o ActionServelet precisa para lidar com as solicitações feitas para sua aplicação.

ID
130066
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com relação aos frameworks de software, julgue os itens
subseqüentes.

O objetivo do framework Hibernate é facilitar a integração entre os modelos orientados a objeto e os que usam banco de dados no modelo relacional.

Alternativas
Comentários
  • CESPE anulou por considerar o enunciado ambíguo, o que dificulta a avaliação.

ID
130069
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com relação aos frameworks de software, julgue os itens
subseqüentes.

O Tiles é um componente do framework Struts que facilita a organização de leiautes. Apesar de ter sido desenvolvido para ser usado junto com o Struts, o Tiles pode também ser usado separadamente.

Alternativas
Comentários
  • Tiles é um sistema de templates. Pode ser usado para criar uma aparência comum para uma aplicação web. Tiles também podem ser usados para criar componentes reutilizáveis.
    Tiles também podem ser usados sem Struts. A nova versão do Tiles, Tiles 2, está sendo preparada.

    http://struts.apache.org/1.x/struts-tiles/


ID
130072
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com relação aos frameworks de software, julgue os itens
subseqüentes.

O framework Struts, embasado no modelo MVC, é uma implementação em código aberto e tem sido adotado por aplicações web em Java.

Alternativas
Comentários

ID
142069
Banca
CESPE / CEBRASPE
Órgão
TRE-MT
Ano
2010
Provas
Disciplina
Programação
Assuntos

Assinale a opção correta a respeito de JUnit.

Alternativas
Comentários
  • Alguém sabe por que a "c" está errada?

  • Paulo, a letra c) está incorreta porque assertEquals é um método da Classe Assert e não uma classe.

  • Assert.assertEquals


    errei essa questão tbm. Enfim, se a banca quisesse ela dava certo tbm nessa ai

  • Complementando.

    C) AssertEquals(a,b) é um método.

    D)Uma fixture de teste é um estado fixo no código que é testado usado como entrada para um teste.

    C)JUnit 4.x utiliza a anotação @JavaTest (@Text) para identificar os métodos que são métodos de teste.

  • @BeforeEach

    Indica que o método anotado deve ser executado antes de cada @Test método , @RepeatedTest, @ParameterizedTestou @TestFactoryna classe atual;

    @AfterEach

    Indica que o método anotado deve ser executado após cada @Test método , @RepeatedTest, @ParameterizedTestou @TestFactoryna classe atual; 

    @BeforeAll

    Indica que o método anotado deve ser executado antes de todos os @Test métodos , @RepeatedTest, @ParameterizedTeste @TestFactoryna classe atual; 

    @AfterAll

    Indica que o método anotado deve ser executado após todos os @Test métodos , @RepeatedTest, @ParameterizedTeste @TestFactoryna classe atual; 


ID
144646
Banca
CESPE / CEBRASPE
Órgão
SECONT-ES
Ano
2009
Provas
Disciplina
Programação
Assuntos

Julgue os próximos itens, que se referem a frameworks Java
Server Faces (JSF) e Hibernate.

O JSF é um framework web embasado em interface gráfica, capaz de renderizar componentes e manipular eventos em aplicações web no padrão Java EE, no qual os componentes JSF são orientados a eventos. O JSF fornece, ainda, mecanismos para conversão, validação, execução de lógica de negócios e controle de navegação.

Alternativas
Comentários
  • na questao ele queria que vc conhecesse o ciclo de vida

    Restore view
    apply request
    process validation
    update model
    invoke app
    render response
  • A parte da frase: "execução de lógica de negócios" torna a questão difícil, mas está correto no sentido que faz acesso a camada de negócio.
  • É um contracenso falar em execução de lógica de negócios no JSF!
    Somente se essa lógica estivesse puramente relacionada com a apresentação da página ela poderia ser colocada em um backing bean.
  • JSF não é um framework e sim uma especificação.

    "JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications and exposing them as server side Polyfills.[1]"



  • "JavaServer Faces technology is a server-side component framework for building Java technology-based web applications."
    http://docs.oracle.com/javaee/6/tutorial/doc/bnaph.html

  • É preciso conhecer bem a banca para entender quando ela está levando ou não um termo ao pé da letra. Esse é um exemplo típico quando a banca fala em framework mas não especificação !!! Fora que ela não falou que o JSF era essencialmente gráfico. Logo, ela está certa.


ID
144649
Banca
CESPE / CEBRASPE
Órgão
SECONT-ES
Ano
2009
Provas
Disciplina
Programação
Assuntos

Julgue os próximos itens, que se referem a frameworks Java
Server Faces (JSF) e Hibernate.

O Hibernate, um framework de mapeamento objeto relacional (ORM), cria uma camada persistência na solução desenvolvida, o que permite ligar os objetos aos bancos de dados relacionais. Entre seus serviços, o Hibernate provê um meio de se controlar transações, por meio de métodos de suas interfaces session e transaction, tendo ainda suporte a herança e polimorfismo. É distribuído sob a licença LGPL, o que permite seu uso em projetos comerciais ou open source.

Alternativas
Comentários
  • O Hibernate é um framework que implementa persistência O/R (objeto/relacional) para Java. Permite desenvolver classes persistentes em Java, utilizando heranças, associações, entre outros elementos. Além disso, o Hibernate também possui a HQL
    (Hibernate Query Language) uma extensão da linguagem SQL (Structured Query Language) normal, onde se adicionam extensões orientadas a objeto.
    O Hibernate está sobre a licença LGPL (Lesser General Public License), o que significa que ele é um software livre que pode ser utilizado juntamente com softwares comerciais

    A arquitetura do Hibernate é formada basicamente por um conjunto de interfaces. As interfaces: Session, Transaction e Query são responsáveis por operações como: atualização, remoção e consulta para o BD, além de serem os responsáveis por executar operações de criação.

    fonte: http://bibdig.poliseducacional.com.br/document/?view=107


ID
144655
Banca
CESPE / CEBRASPE
Órgão
SECONT-ES
Ano
2009
Provas
Disciplina
Programação
Assuntos

Julgue os próximos itens, que se referem a frameworks Java
Server Faces (JSF) e Hibernate.

No índice de agrupamento ou denso, a ordenação física dos dados e do índice é a mesma, ou seja, a chave de busca também define a ordem sequencial dos dados, podendo haver, no máximo, dois índices desse tipo por tabela. Apesar de exigirem mais sobrecarga de manutenção para inserções e exclusões, é mais rápido localizar um registro com uso do índice esparso que com o índice de agrupamento.

Alternativas
Comentários
  • "No índice de agrupamento ou denso" - ERRADO. O Indice de agrupamento é esparço. Além disso, denso é uma caracterísitca de índices, e não um tipo de índice.

    "a ordenação física dos dados e do índice é a mesma" - CERTO. Agrupamento opera sobre campos ordenados. Portanto, o índice e os dados terão a mesma ordenação

    ", ou seja, a chave de busca também define a ordem sequencial dos dados, podendo haver, no máximo, dois índices desse tipo por tabela. " - ERRADO. Podemos ter apenas 1 índice Principal/Primário OU 1 índice de agrupamento/clusterin

    "Apesar de exigirem mais sobrecarga de manutenção para inserções e exclusões, é mais rápido localizar um registro com uso do índice esparso que com o índice de agrupamento. " - ERRADO denovo. Esparço é uma característica dos índices. E o índice de agrupamento é esparço.

    Ou seja, cheio de erro :)

    A idéia de termos índices em um SGBD é para facilitar buscas.
    Imagine uma agenda. É como pesquisar no índice qual a página que se encontra os nomes iniciados com letra "L".
    O banco realiza a busca sobre a tabela de índice. O índice retorna um ponteiro para a localização em disco dos dados procurados (como se fosse a página da agenda). De posse desta informação, podemos fazer uma busca sequencia no local apontado (seria como ler nome por nome da folha da agenda).

    Os índices podem ser de nível único (primário, clustering/agregação) ou multinível (árvores)

    Primário ou Principal: opera sobre atributos chaves. A idéia é criar uma tablea de índices, bem ao estilo de agenda. A tabela de índice terá duas colunas: valor da chave, ponteiro para o local do registro associado à chave em disco. Aí vocês perguntam, pra quê criar uma segunda tabela? Não é mais fácil pesquisar diretamente na tabela original? Certamente não. A tabela original contem, além de atributo chave, vários outros atributos. A tabela de índice é enxuta. Além disso, a tabela de índice não tem uma cópia de todas as chaves. Ele elege algumas chaves estratégicas. Por exemplo, na tabela de nomes, poderíamos ter índices somente para A,J,Z. Isso já nos reduziria 1/3 da área de busca na tabela original.
    A desvantagem deste método é o custo de inserção e remoção. Quando adicionar registro, todos os demais registros precisaram ser movidos para manter a ordenção do campo. Consequentemente, a tabela de índice também será alterada.

    Clustering/Agregação: Se você tiver um campo não chave ordenados e com valores que se repetem muito, é ideal ter um índice de clustering. A tabela de índice terá um valor para cada item distinto do campo a ser indexado. A tabela de índice vai te indicar onde está o arquivo daquele agrupoamento que você procura.

    Os índices podem ser classificados em:

    Denso - Uma entrada na tabela de índice para cada registro da tabela original
    Esparço - Cada entrada de índice aponta para o primeiro elemento de um grupo da tabela original.

ID
144889
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2009
Provas
Disciplina
Programação
Assuntos

Acerca do desenvolvimento de aplicações web e XML, julgue os itens seguintes.

A tecnologia Struts é empregada para a construção de aplicações web conforme o modelo MVC, no qual o modelo é representado por beans programados em Java, a view é representada por JSPs e o controller é parcialmente descrito em arquivos XML.

Alternativas
Comentários
  • Apache Struts - Struts é livre, open-source, framework de aplicação Web-tier  desenvolvido pela  Apache Software Foundation. Struts é altamente configurável, e tem uma grande lista de recursos (e crescente), incluindo um Front Controller, classes de ação e mapeamentos, as classes de utilitário para XML, preenchimento automático de server-side JavaBeans, Formulários da Web com  validação, e apoio à internacionalização.

    http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html

ID
144892
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2009
Provas
Disciplina
Programação
Assuntos

Acerca do desenvolvimento de aplicações web e XML, julgue os itens seguintes.

Considerando que para o uso da tecnologia Hibernate na linguagem Java são empregados, usualmente, dois tipos de arquivos: (i) configuração e (ii) mapeamento, sendo a lista a seguir uma sequência de elementos XML utilizados na tecnologia Hibernate: (a) hibernate-mapping (b) class; (c) generator; (d) property; (e) session-factory; e (f) mapping, então, uma associação adequada entre os elementos e o tipo de arquivo Hibernate, no qual eles usualmente são empregados, é a seguinte: {(a, ii), (b, ii), (c, i), (d, ii), (d, i), (e, i), (f, i)}.

Alternativas
Comentários
  •  O erro está no  (f) mapping que é do tipo (ii) mapeamento e está citado como (f, i)

  •  Arquivos de configuração(i) possuem tipicamente:
     - hibernate-configuration
     - session-factory(e)
     - property(dialeto, driver de conexão, url, usuário e senha)
     - mapping-resource

    Arquivos de mapeamento(ii) possuem:
     - hibernate-mapping(a)
     - class(b)
     - id
     - generator(c)
     - proprety(d)

     

    [1] http://www.dsc.ufcg.edu.br/~jacques/cursos/daca/html/hibernate/hibernate.htm

  • Errado.

    O erro está em (c, i). "generator" é utilizado no mapeamento. Os outros itens estão certos. Ao contrário do que o amigo em cima disse, o elemento "mapping" não faz parte do arquivo de mapeamento, mas sim do arquivo de configuração.
    Fonte:
    DTDs do Hibernate que, na data da escrita deste, podem sem encontrados em http://www.jboss.org/dtd/hibernate/
  • Além do erro (c,i) há outro: (d, ii), (d, i).
    Associou o property tanto para o mapeamento (correto) quanto para o arquivo de configuração.


ID
144934
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2009
Provas
Disciplina
Programação
Assuntos

Julgue os seguintes itens em relação às tecnologias de mercado para o desenvolvimento de aplicações.

São exemplos de tipos de componentes de software reusáveis desenvolvidos na plataforma JEE: JSP (Java Server Page); biblioteca de tags; Servlet; EJB. O grau de reúso provido por esses componentes, EJBs e JSPs, é usualmente superior a bibliotecas de TAG.

Alternativas
Comentários
  • [ALTERADO] O grau de reúso de uma biblioteca de tags se equipara supera do de JSPs e de EJBs, pelo fato da biblioteca, assim como os outros dois, poder ser utilizada em qualquer nova aplicação que seja necessária, inclusive em JSPs e em EJBs.

  • JSP é uma página, tem pouco reuso. Pra reuso teria que servir como template (TILES, VELOCITY), que são implementações adicionais que não fazem parte da especificação JEE


ID
157909
Banca
CESGRANRIO
Órgão
TJ-RO
Ano
2008
Provas
Disciplina
Programação
Assuntos

Sobre o framework de mapeamento objeto/relacional Hibernate, é correto afirmar que

Alternativas
Comentários
  • a) Falso. Um objeto vinculado a uma sessão (em estado persistent) é atualizado automaticamente. 

    b) Falso. Detached é o estado dos objetos após o fechamento da sessão (após a vinculação, não antes). O estado mencionado é transient.

    c) Falso. Se um objeto está vinculado a uma sessão, ele está no estado persistent.

    d) Falso. Este estado é detached.

    e) Verdadeiro.

     Hibernate defines three states for object instances: persistent, detached, and transient.

    Persistent objects are ones that are currently associated with a Hibernate session; as soon as the session is closed (or the object is evicted), the objects become detached. Hibernate ensures that Java objects in a persistent state for an active session match the corresponding record(s) in the database. Transient objects are ones that are not (and most likely, never were) associated with Hibernate session and also do not have an object identity.   Fonte: http://media.techtarget.com/tss/static/articles/content/AgileJavaDev/Hibernate.pdf   Transient classes are instances that have not been saved to the database. To make a transient instance persistent, simply save it using the Session class   Fonte: http://www.systemmobile.com/?p=11
  • Somente complementando o excelente comentário do colega acima. 

     • Transient  - um objeto é transiente se ele foi instanciando usando apenas o operador new  e não foi associado a uma Session  do Hibernate. Ele não possui uma representação persistente no banco de dados e não lhe foi atribuído nenhum identificador. Instâncias transientes serão destruídas pelo coletor de lixo se a aplicação não mantiver sua referência. Use uma Session  do Hibernate para tornar o objeto persistente (e deixe o Hibernate gerenciar as instruções SQL que serão necessárias para executar esta transição).

    • Persistent  - uma instância persistente possui uma representação no banco de dados e um

    identificador. Ela pode ter sido salva ou carregada, portanto ela se encontra no escopo de uma

    Session . O Hibernate irá detectar qualquer mudança feita a um objeto persistente e sincronizar

    o seu estado com o banco de dados quando completar a unidade de trabalho. Desenvolvedores

    não executam instruções manuais de UPDATE , ou instruções de DELETE  quando o objeto se

    tornar transiente.

    • Detached  – uma instância desanexada é um objeto que foi persistido, mas sua Session

     foi fechada. A referência ao objeto continua válida, é claro, e a instância desanexada pode

    ser acoplada a uma nova Session  no futuro, tornando-o novamente persistente (e todas as

    modificações sofridas). Essa característica habilita um modelo de programação para unidades

    de trabalho de longa execução, que requeira um tempo de espera do usuário. Podemos chamálas

    de transações da aplicação , ou seja, uma unidade de trabalho do ponto de vista do usuário.


ID
157921
Banca
CESGRANRIO
Órgão
TJ-RO
Ano
2008
Provas
Disciplina
Programação
Assuntos

Os componentes de interface de uma aplicação que utiliza JavaServer Faces (JSF) se apóiam em beans no lado do servidor, que são os managed beans, também chamados de backing beans. Sobre estes beans, é correto afirmar que

Alternativas
Comentários
  • O arquivo faces-config.xml permite a configuração dos managed beans, conversores, validadores e navegação da aplicação.
  • JSF tem os items:

    - Componentes
    - Eventos
    - Validação
    - Conversores
    - Navegabilidade
    - Backbeans ou Managed Beans

    == Comentários Adicionais de 31/10/2011 == 

    •  a) são declarados no arquivo faces-config.xml
    • Isso. Nesses arquivo estão definidos também os conversores, validadores e regras de navegação, além dos managed bens.
    • Na prática conversores servem, por exemplo, para converter um número como este "58,00" em um número que a aplicação java possa tratar: 58.00. 
    • Os validadores servem para chegar se um email é válido, por exemplo.  Se não fosse o JSF teriamos que fazer essa parte manualmente.
    •  
    •  b) são instanciados nos métodos doGet() e doPost() dos servlets escritos pelo programador da aplicação.
    • doGet( ), doPost( ),  doOptions(), doDelete( ), doPut( ) e doTrace( ) referem-se aos métodos da interface HTTPServlet, cujo um Servlet deve implementar.
    •  c) são implementados como EJB Stateful Session beans.
    • Essas sessões são utilizadas em EJB para que a aplicação possa se comunicar com as beans de entidades.Em EJB as Sessões podem ser stateless ou statefull. As stateless podem implementar webservices, as statefull não.
    • Se você quiser fazer uma aplicação que contenha um carrinho de compras, então você pode usar uma Sessão que guarda estado, no caso uma Statefull.
    • Porém se vicê não precisa guardar o estado então você pode usar uma sessão stateless, nesse caso muitos clientes podem reutilizar a mesma instância da sessão.
     (Dory, exemplo clássico de Session Bean Stateless)
    •  
    • d) devem herdar da classe JSFBean.
    • Eu não sei nem se essa classe existe.
    • e) devem possuir apenas um construtor que recebe como parâmetros os valores de inicialização de todos os seus atributos.
    Beans devem dispôr de um único construtor sem argumentos. Sempre. Deve ser serializável e suas propriedades modificadas por getters e setters.

  • Na verdade os managed beans PODEM ser declarados no arquivo faces-config.xml  (não SÃO sempre declarados nele), pois há outro modo que é usando a anotação @ManagedBean na própria classe Java.

    Nesse caso a questão pode ser resolvida por eliminação, já que os outros itens são completamente errados.
  • O JSF é um framework baseado no MVC, onde o model são as classes de entidade, a view  em JSF e o controller é Managed Beans (Backing Beans)
    Para ser Java Bean, uma classe deverá ter todos os atributos privados, com getters e setters; •mínimo um construtor default vazio, embora possa ter mais construtores e métodos auxiliares e interface Serializable.


    É possível implementar métodos de validação ou conversão de dados personalizados no JSF.


ID
173812
Banca
FGV
Órgão
MEC
Ano
2009
Provas
Disciplina
Programação
Assuntos

A respeito das tecnologias Java/J2EE, assinale a alternativa correta.

Alternativas
Comentários
  •  a) Falso. Isso é JTA (Java Transaction API)

    b) Falso. Isso é JMS (Java Message Service)

    c) Falso. Isso é JSP (Java Server Pages)

    d) Falso. Isso é JSF (Java Server Faces). Obs: UI = User Interface (interface com usuário)

    e) Verdadeiro.


  • A) JavaServer Faces é um framework MVC para o desenvolvimento de aplicações Web, que permite o desenvolvimento de aplicações para a internet de forma visual, ou seja, arrastando e soltando os componentes na tela (JSP), definindo propriedades dos mesmos.


    B) A Java Transaction API, ou JTA, é uma API pertencente a plataforma Java EE. Ela disponibiliza uma interface para a demarcação de transações em aplicações escritas na linguagem Java. Esta interface é a mesma independentemente da forma como foi implementado o monitor de transação. A JTA é um padrão definido pela JSR 907.

    C) Java Persistence API, chamada apenas de JPA, é uma API padrão do java para persistência que deve ser implementada por frameworks que queiram seguir o padrão. A JPA define um meio de mapeamento objeto-relacional para objetos Java simples e comuns (POJOs), denominados beans de entidade. Diversos frameworks de mapeamento objeto/relacional como o Hibernate implementam a JPA. Também gerencia o desenvolvimento de entidades do Modelo Relacional usando a plataforma nativa Java SE e Java EE.

    D) Java Message Service, ou JMS, é uma API da linguagem Java para middleware orientado à mensagens. Através da API JMS duas ou mais aplicações podem se comunicar por mensagens.
     

  • a) JSF JTA (Java Transaction API) é uma especificação feita pela Sun que visa padronizar o uso de transações distribuídas feitas por aplicativos Java.

    b) JTA JMS (Java Message Service) é uma API da linguagem Java que permite a componentes baseados em Java/J2EE criar, enviar, receber e ler mensagens.

    c) JPA JSP (Java Server Pages) é uma tecnologia utilizada no desenvolvimento de aplicações para Web, similar às tecnologias Active Server Pages (ASP) da Microsoft ou PHP.

    d) JMS JSF (Java Server Faces) é um framework para desenvolver aplicações web de forma ágil, permite que o desenvolvedor crie UIs através de um conjunto de componentes UIs pré-definidos.

    e) EJB é uma arquitetura de componentes multi-plataforma para o desenvolvimento de aplicações Java Enterprise Edition (Java EE), multicamadas, distribuídas, escaláveis e orientadas a objetos.
  • e-

    Enterprise Java Beans (EJB): possuem atributos e métodos para lógica de negócios. podem ser utilizados individualmente ou em conjunto com outros beans para lógica da aplicação JEE. podem ser 2 tipos:


    Session beans: representa uma conversação transiente (temporaria) com o cliente. Quando o cliente encerra, o bean e seus dados são perdidos.

    Message driven beans: combina session bean e um ouvinte de mensagens, permitindo mensagens assíncronas.


ID
195358
Banca
CESPE / CEBRASPE
Órgão
TCU
Ano
2010
Provas
Disciplina
Programação
Assuntos

Uma equipe de desenvolvimento de software recebeu a
incumbência de desenvolver um sistema com as características
apresentadas a seguir.

* O sistema deverá ser integrado, interoperável, portável e
seguro.
* O sistema deverá apoiar tanto o processamento online, quanto
o suporte a decisão e gestão de conteúdos.
* O sistema deverá ser embasado na plataforma JEE (Java
enterprise edition
) v.6, envolvendo servlets, JSP (Java server
pages
), Ajax, JSF (Java server faces) 2.0, Hibernate 3.5, SOA
e web services.

O líder da equipe iniciou, então, um extenso processo de
coleta de dados com o objetivo de identificar as condições
limitantes da solução a ser desenvolvida e tomar decisões
arquiteturais e tecnológicas que impactarão várias características
funcionais e não funcionais do sistema, ao longo de seu ciclo de
vida. A partir dessa coleta, o líder deverá apresentar à equipe um
conjunto de informações e de decisões.

Com relação às tecnologias para desenvolvimento web em Java que
podem ser empregadas no sistema descrito no texto, julgue os itens
a seguir.

A tecnologia Hibernate 3.5 é apropriada para o projeto em questão: entre as características que a credenciam, estão a integração com servidores de aplicação via JNDI e o suporte a mapeamento objeto relacional em modos básico e avançado, possibilitando o mapeamento de coleções e de associações, entre outros.

Alternativas
Comentários
  • certinho! via jta-datasource rola a integração com servidores JNDI e o mapeamento é feito com @Entity @OneToMany e por ai vai


ID
195361
Banca
CESPE / CEBRASPE
Órgão
TCU
Ano
2010
Provas
Disciplina
Programação
Assuntos

Uma equipe de desenvolvimento de software recebeu a
incumbência de desenvolver um sistema com as características
apresentadas a seguir.

* O sistema deverá ser integrado, interoperável, portável e
seguro.
* O sistema deverá apoiar tanto o processamento online, quanto
o suporte a decisão e gestão de conteúdos.
* O sistema deverá ser embasado na plataforma JEE (Java
enterprise edition
) v.6, envolvendo servlets, JSP (Java server
pages
), Ajax, JSF (Java server faces) 2.0, Hibernate 3.5, SOA
e web services.

O líder da equipe iniciou, então, um extenso processo de
coleta de dados com o objetivo de identificar as condições
limitantes da solução a ser desenvolvida e tomar decisões
arquiteturais e tecnológicas que impactarão várias características
funcionais e não funcionais do sistema, ao longo de seu ciclo de
vida. A partir dessa coleta, o líder deverá apresentar à equipe um
conjunto de informações e de decisões.

Com relação às tecnologias para desenvolvimento web em Java que
podem ser empregadas no sistema descrito no texto, julgue os itens
a seguir.

A tecnologia Hibernate 3.5 é apropriada para o sistema a ser desenvolvido: entre as características que a credenciam, está o fato de ela possibilitar a recuperação de objetos por meio da formulação de queries em linguagens HQL (hibernate query language) e SQL (structured query language), bem como pelo uso de APIs (application programming interfaces) de busca por critério, entre outras.

Alternativas
Comentários
  • Correspondem aos 3 tipos de acesso a banco de dados, através do Hibernate:

    HQL - Hibernate Query Language - Linguagem de consulta orientada a objeto
    Criteria API - Uma API orientada a objeto para busca. Mais próximo de desenvolvedores que não conhecem linguagens de consulta
    SQL - a linguagem nativa do BD

    Exemplo de como fica a consulta nestes 3 tipos:



    Logo, questão Correta!
  • A tecnologia Hibernate 3.5 é apropriada para o sistema a ser desenvolvido: entre as características que a credenciam, está o fato de ela possibilitar a recuperação de objetos por meio da formulação de queries em linguagens HQL (hibernate query language) e SQL (structured query language), bem como pelo uso de APIs (application programming interfaces) de busca por critério, entre outras.

    entre outras? quais?
  • Concordo com o Cesar Santos, se alguém souber de uma outra forma de consulta que não seja Criteria, SQL e HQL favor divagar sobre.


ID
209248
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Programação
Assuntos

Acerca do desenvolvimento de aplicações web, julgue os itens a
seguir.

O Jboss é um servidor de aplicação avançado que, apesar de ter sido implementado na linguagem Java, funciona em qualquer tipo de sistema operacional, independentemente de este ter sido desenvolvido em Java.

Alternativas
Comentários
  • JBoss é um servidor de aplicação de código fonte aberto baseado na plataforma J2EE implementada completamente na linguagem de programação Java. Como é baseada em Java, JBoss pode ser usado em qualquer Sistema Operacional que suporte Java.

  • Questão extremamenta mal formulada. O enunciado dá a entender que TODO o S.O. deve ser desenvolvido em Java para que haja suporte.

    " independentemente de este ter sido desenvolvido em Java" != " independentemente de este ter suporte a Java (JVM)"
  • QUestão mal formulada, java é multiplataforma e roda em qualquer sistema operacional independente de ter sido implementado em java.
  • Gostaria de saber o erro:

    1 - O Jboss é um servidor de aplicação avançado - CERTO
    2 - que, apesar de ter sido implementado na linguagem Java, - CERTO
    3 - funciona em qualquer tipo de sistema operacional, independentemente de este ter sido desenvolvido em Java - CERTO,  para isso basta que este SO tenha uma máquina virtual java.

    Alguém poderia informar qual o erro?
  • Também errei essa questão. Procurando justificativas achei essa na lista do timasters

    Se o SO não tiver uma JVM feita pra ele, o Jboss não funcionará.

    http://br.groups.yahoo.com/group/timasters/message/60921
  • Realmente uma bela pegadinha. Se imaginarmos um sistema operacional mainframe z/OS (em máquinas que custam R$ 30 milhões), nada do nosso cotidiano vai funcionar. Como estamos acostumados a pensar em Linux e Windows, caímos na pegadinha. Mas realmente, não funciona em qualquer tipo de S.O.

    Eu tbm errei!

    É o tipo de questão que está sempre errada, independente do conteúdo. Por exemplo, se no lugar de JBoss estivesse escrito Apache, MySQL, C++, DHCP, IP, LDAP, Java, IIS, MQ... a questão também estaria errada, porque nada funciona em qualquer tipo de S.O.

  • Esse, funciona em qualquer tipo de SO matou!
    E se o SO não tiver a JVM...não vai ser qualquer SO...

    Ficar atento às palavras sempre, todo, nunca, nenhum...

  • Errado.

     

    JBoss é um servidor de aplicação de código fonte aberto baseado na plataforma JEE implementada completamente na linguagem de programação Java. Como é baseada em Java, JBoss pode ser usado em qualquer Sistema Operacional que suporte Java.

    Fonte: http://pt.wikipedia.org/wiki/Jboss

  • 01 Q43338 Ano: 2008 Banca: CESPE / CEBRASPE Órgão: SERPRO Prova: CESPE - 2008 - SERPRO - Analista - Desenvolvimento de Sistemas

    Apesar de ser embasado em J2EE e implementado em Java, uma das limitações do JBOSS é ser um servidor de aplicação incompatível com alguns dos sistemas operacionais que suportam Java, pois ele não oferece persistência.

    ( ) Certo         ( ) Errado

  • Eu pessoalmente acho que a questão foi péssimamente formulada


ID
210451
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Programação
Assuntos

Com relação a servidores de aplicação, julgue os próximos itens.

O servidor de aplicação JBOSS foi desenvolvido utilizando-se a linguagem de programação Java. As versões mais atuais são preparadas para suportar aplicações que utilizam as especificações servlets e JSP, mas são incompatíveis com a especificação EJB.

Alternativas
Comentários
  • O servidor de aplicação JBOSS é sim compatível com a especificação EJB.

  •  O Servidor de aplicação JBOSS têm suporte a especificação dos EJBs através de um container EJB, suporta também as especificações de Servlets e JSP através do container WEB (geralmente, um "tomcat embutido" dentro do servidor de aplicações).

  • O Tomcat que é incompatíveis com a especificação EJB.
  • e-

    GlassFish, Wildfly (antigo jboss) e WebLogic sao servidores de aplicação consoante EJB, esta característica de controle do ciclo de vida vem embutida

  • Errada "erro em vermelho"

    O servidor de aplicação JBOSS foi desenvolvido utilizando-se a linguagem de programação Java. As versões mais atuais são preparadas para suportar aplicações que utilizam as especificações servlets e JSP, mas são incompatíveis com a especificação EJB.


ID
215734
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Programação
Assuntos

Quanto às linguagens e tecnologias de programação, julgue o item
subsequente.

O modelo de componentes do JBoss Seam tem como característica o uso direto de componentes Enterprise JavaBeans como beans acoplados às páginas JavaServer Faces.

Alternativas
Comentários
  • O JBOSS Seam faz todo o trabalho de integração entre o JSF e o EJB para que o desenvolvedor possa se concentrar no domínio do negócio.
  • Desde quando JSF são páginas?

  • c-

    o grande lance do JEE é que o desenvolvedor pode confiar na plataforma para implementação de serviços padrão, representados por requisitos
    não funcionais. Para cada serviço ha uma ou mais tecnologias que, trabalhando individualmente ou em conjunto, abstraem-o de detalhes específicos


ID
215737
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Programação
Assuntos

No processo de teste de software, uma das metas consiste em
demonstrar ao desenvolvedor e ao cliente que o software atende aos
requisitos, e outra, em descobrir falhas ou defeitos no software que
apresenta comportamento incorreto. Quanto aos processos de teste
de software, julgue o próximo item.

O Junit é um conjunto de classes em Java que pode ser estendido para se criar um ambiente de testes de regressão automatizado.

Alternativas
Comentários
  •  

    teste de regressão é uma técnica do teste de software que consiste na aplicação de testes à versão mais recente do software, para garantir que não surgiram novos defeitos em componentes já testados. Se, ao juntar o novo componente ou as suas alterações com os componentes restantes do sistema surgirem novos defeitos em componentes inalterados, então considera-se que o sistema regrediu.

    Muitas vezes é usada uma ferramenta específica para o teste de regressão as chamadas ferramentas de automação, elas conseguem um resultado mais exato do teste executando exatamente os passos seguidos para o teste das primeiras versões já que elas permitem a gravação do teste.

    Alguns tipos de ferramentas:Rational functional tester - IBMmercury quick teste professional - HPe uma ferramenta livre JUnit - Java.

  • Essa assertiva foi específica quanto ao tipo de teste. Mas na verdade, o JUnit permite a criação de qualquer tipo de teste (teste de carga, regressão, desempenho, teste de comparação entre outros). Devemos nos ater que é específico para criação de teste na linguagem JAVA. A título de curiosidade teste de regressão é quando se testar a nova versão do software verificando se apresenta defeitos ou não. Se houver defeitos, houve regresso. Caso contrário. não houve regresso.

    Gabarito:

    CORRETO.


ID
218185
Banca
CESPE / CEBRASPE
Órgão
TRE-BA
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue o item abaixo, referente ao Hibernate.

No Hibernate, apenas a linguagem de consulta HQL (hibernate query language) pode ser utilizada. A HQL executa os pedidos SQL sobre as classes de persistência do Java em vez de tabelas no banco de dados, o que diminui a distância entre o desenvolvimento das regras de negócio e o banco de dados.

Alternativas
Comentários
  •  O Hibernate não utiliza somente a linguagem de consulta (HQL  - hibernate Query Language), podemos fazer as consultas programando na linguagem java, por exemplo, utilizando o entityManager (um objeto java responsável pelas operações de persistência) para efetuar consultas.

  •  Não é apenas usando HQL que se pode fazer consultas no Hibernate. Pode-se usar também SQL nativo.

  • Existem  três meios de se fazer buscas usando o Hibernate, usando a sua linguagem própria de buscas, a Hibernate Query Language (HQL), usando a sua  Criteria Query API  (para montar buscas programaticamente) e usando SQL puro.

  • Existem 2 erros nessa questão:

    1° - No Hibernate você pode usar tanto SQL quanto HQL.

    2° - Ao se utilizar HQL, os pedidos são executados sobre as classes de persistência do Java em vez de tabela no banco de dados, o que AUMENTA a distância entre o desenvolvimento das regras de negócio e o banco de dados.
  • apenas a linguagem de consulta HQL (hibernate query language) pode ser utilizada.

    Errada!

    Você também pode usar Criteria API e SQL puro


ID
218233
Banca
CESPE / CEBRASPE
Órgão
TRE-BA
Ano
2010
Provas
Disciplina
Programação
Assuntos

Quanto ao J2EE e às tecnologias associadas, julgue os itens
subsequentes.

Entre os itens que o padrão Java Server Faces (JSF) utiliza, estão os componentes, os eventos e a navegabilidade.

Alternativas
Comentários
  • Itens{

    • Componentes
    • Eventos
    • Valiação e conversões
    • Navegabilidade
    • Backbeans

    }

  • What is JSF? ? A specification and reference implementation for a web application development framework – Components – Events – Validators & converters – Navigation – Back-end-data integration
    http://web.princeton.edu/sites/isapps/jasig/2004summerwestminster/Presentations/java%20server%20faces.pdf

    As informações foram chamadas de itens, por que estão itenizadas no texto. Mas tenho minhas dúvidas se poderiam ser usadas dessas maneira.
  • Não eh um framework? Pqp
  • JSF é a especificação para um framework de componentes para desenvolvimento web em java. Essa especificação foi definida pelo Java Community Process (JCP). [...] No entanto, o fato do Java Server Faces ser uma esoecificação idealizada por tantas empresas e gerenciada pelo Java Community Process, não significa que seja um produto concreto(JSF por sí só). Para ser um produto completo precisa recorrer as implementações do JSF como o Sun Mojarra e o MyFaces.

    Com o Mojara ou MyFaces você desenvolverá seu projeto JSF. Essas implmentações permitem que você utilize todos os recursos do padrão como os compopnentes HTMLL dede fformulário, tabbelaas, laout, converesão e validação de dados e eventos, além de toda a inteligência para a interpretação dos arquivos de configuração e interação com o contêiner Java..

    Fonte: Livro Java programação para Web, Décio Heizlman Luckow, Alexandre Altair de Melo, pg 72

  • c-

    o JSF é um framework de componentes de servidor para aplicacoes web pelo padrao MVC. Principais funcionalidades: api para representar coponentes de interface grafica e estado, administarcao de eventos, validação e conversao de dados no servidor, navegação entre paginas e extensao dos componentes


ID
240520
Banca
FCC
Órgão
TRT - 22ª Região (PI)
Ano
2010
Provas
Disciplina
Programação
Assuntos

É um framework MVC utilizado no desenvolvimento de aplicações para a internet de forma visual, que utiliza o recurso de arrastar e soltar os componentes na tela para definir suas propriedades:

Alternativas
Comentários
  • JSF contem os seguintes items:

    Componentes, Eventos, Validações,
    Conversões, Navegabilidade,
    Back Beans ( Managed Beans )

    Todos eles declarados em faces-config.xml

  • Bom... das alternativas, só o JavaServer Faces é um framework.
  • O legal são as fontes que os caras tiram estas questões: WIKIPEDIA! Vejam que está "cara-crachá" a questão com o texto...

    JavaServer Faces é um framework MVC para o desenvolvimento de aplicações Web, que permite o desenvolvimento de aplicações para a internet de forma visual, ou seja, arrastando e soltando os componentes na tela (JSP), definindo propriedades dos mesmos.

    Fonte: http://pt.wikipedia.org/wiki/JavaServer_Faces
  • Sobre o comentário acima, até acredito que existem bancas que vão direto ao Wikipedia buscar dados para as questões. Mas se você parar para analisar vai notar que o Wiki é um "livro aberto" onde qualquer um coloca informações lá, informações essas que podem vir de qualquer fonte, inclusive de bibliografias respeitáveis, ou seja, na verdade não são as bancas (sérias) que buscam informações no Wikipedia mas sim os "autores" do Wiki é que "emprestam" as informações dos livros e as colocam lá, ipsis litteris. É o que eu penso.
  • b-

    Java Server Faces (JSF) é um framework para fazer aplicacoes web e permite uso de classes Java como implmentacoes de componentes HTML.

  • Arrastar e soltar dá impressão que é algo como Delphi ou o Android Studio, no JSF eu pelo menos escrevo as tags.


ID
240523
Banca
FCC
Órgão
TRT - 22ª Região (PI)
Ano
2010
Provas
Disciplina
Programação
Assuntos

Hibernate é um framework

Alternativas
Comentários
  • O objetivo do Hibernate é diminuir a complexidade entre os programas Java, baseado no modelo orientado a objeto, que precisam trabalhar com um banco de dados do modelo relacional (presente na maioria dos SGDBs). Em especial, no desenvolvimento de consultas e atualizações dos dados.

     

    ALTERNATIVA E

  • a) JSF
    b) EJB
    c) EJB
    d) JSP
    d) Hibernate

ID
240652
Banca
FCC
Órgão
TRT - 22ª Região (PI)
Ano
2010
Provas
Disciplina
Programação
Assuntos

Sobre JBoss AS 4.0, considere:

(I) Não roda em sistemas operacionais na plataforma POSIX.
(II) Suporta qualquer máquina virtual Java entre as versões 1.4 e 1.6.
(III) Não roda em sistemas operacionais MS-Windows.

Está correto o que se afirma APENAS em

Alternativas
Comentários
  • Essa questão têm que ser anulada, nenhuma das 3 alternativas está correta:

    JBoss AS 4.0 é um servidor de aplicações Java EE 1/4, com embutidos Apache Tomcat 5.5. Qualquer Máquina Virtual Java entre as versões 1.4 e 1.5 são suportados ( alternativa II errada ) . JBoss pode ser executado em inúmeros sistemas operacionais, incluindo muitas plataformas POSIX (como o Linux, FreeBSD e Mac OS X), Microsoft Windows e outros ( alternativa I e III erradas ), enquanto um adequado JVM está presente.

     

    ALTERNATIVA B, SEGUNDO A BANCA

     

  • O JBoss é um servidor de aplicações implementado em linguagem Java e baseado no J2EE, da Sun. Roda em qualquer plataforma que suporte Java, incluindo Windows e Linux.
  •  Edluise Costa, a questão está correta. A fonte onde você consegui a informação é que deve ter escrito o texto quando só existia a versão 1.5, A versão 1.6 é suportada também.

    E como o POSIX, e o WINDOWS suportam estas versões de máquina virtual então a 1 e 3 estão erradas.

    Ou seja somente a 2 está correta.

    Letra B.
  • Questão correta.

    http://en.wikipedia.org/wiki/JBoss

    Bons estudos.

ID
240736
Banca
FCC
Órgão
TRT - 8ª Região (PA e AP)
Ano
2010
Provas
Disciplina
Programação
Assuntos

Os três estados de objeto definidos pelo framework Hibernate são:

Alternativas
Comentários
  • O Hibernate define e suporta os seguintes estados de objetos:

    Transient - um objeto é transiente se ele foi instanciando usando apenas o operador new e não foi associado a uma Session do Hibernate. Ele não possui uma representação persistente no banco de dados e não lhe foi atribuído nenhum identificador. Instâncias transientes serão destruídas pelo coletor de lixo se a aplicação não mantiver sua referência. Use uma Session do Hibernate para tornar o objeto persistente (e deixe o Hibernate gerenciar as instruções SQL que serão necessárias para executar esta transição).

    Persistent - uma instância persistente possui uma representação no banco de dados e um identificador. Ela pode ter sido salva ou carregada, portanto ela se encontra no escopo de uma Session. O Hibernate irá detectar qualquer mudança feita a um objeto persistente e sincronizar o seu estado com o banco de dados quando completar a unidade de trabalho. Desenvolvedores não executam instruções manuais de UPDATE, ou instruções de DELETE quando o objeto se tornar transiente.

    Detached – uma instância desanexada é um objeto que foi persistido, mas sua Session foi fechada. A referência ao objeto continua válida, é claro, e a instância desanexada pode ser acoplada a uma nova Session no futuro, tornando-o novamente persistente (e todas as modificações sofridas). Essa característica habilita um modelo de programação para unidades de trabalho de longa execução, que requeira um tempo de espera do usuário. Podemos chamá-las de transações da aplicação, ou seja, uma unidade de trabalho do ponto de vista do usuário.

     

    ALTERNATIVA D


  • http://img211.imageshack.us/img211/153/hibernate1.png

    Conforme mostra o diagrama de estado ao lado, temos os estados TRANSIENTE, PERSISTENT e DETACHED.

    Objetos que estão no estado TRANSIENT foram instanciados (new) e nunca estiveram associados a algum contexto persistente. Se eles forem destruídos (garbage), não poderão ser recuperados.

    Objetos que se associam a um contexto persitente, passam a ter uma identidade no banco de dados, esse é o estado PERSISTENT.

    DETACHED são objetos que estavam associados a uma sessão que foi fechada, eles então podem estar desatualizados em relação ao que foi persistido no BD. Quando essa atualização acontece ( update()/saveOrUpdate() ) eles se tornam novamente PERSISTENT.

    Objetos TRANSIENT e DETACHED podem ser coletados para a destruição.

ID
240739
Banca
FCC
Órgão
TRT - 8ª Região (PA e AP)
Ano
2010
Provas
Disciplina
Programação
Assuntos

A classe do framework Struts que desempenha o papel de controlador (controller), sendo responsável por manipular todas as requisições que chegam ao servidor e coordenar a aplicação, é

Alternativas
Comentários
  • ActionServlet – Realiza o papel de controlador da aplicação, preenchendo o ActionForm (JavaBean), transmitindo para o Action.

     

    ALTERNATIVA C

  • Letra C

    " O ActionServlet é o único servlet de uma aplicação construída com o Struts. Para tal, o arquivo web.xml deve conter um mapeamento genérico, direcionando páginas diferentes da aplicação ao mesmo servlet controlador. Em geral é utilizado o padrão de URL (URL pattern) “*.do”.

    Quando o ActionServlet recebe uma requisição, ela é repassada para o RequestProcessor, que processa e valida os dados recebidos. No arquivo struts-config.xml, são mapeadas as URLs para as ações responsáveis pelo seu processamento. Escolhida a ação, ela é instanciada e em seguida é chamado seu método execute, que realiza chamadas ao modelo. Ao final da execução, a ação retorna uma indicação para o controlador sobre qual visão deve ser exibida para formatar a resposta."

    https://www.devmedia.com.br/struts-primeiros-passos-conceitos-arquitetura-e-exemplos/8256


ID
241672
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Programação
Assuntos

Em relação ao Hibernate 3.5.1-final, julgue os itens a seguir.

A conexão da aplicação com o banco de dados pode ser realizada por meio da rede de conexão interna do Hibernate, que é bastante eficiente para uso em ambiente de produção.

Alternativas
Comentários
  • Esse pool interno que vem com o Hibernate é suficiente para quando estamos desenvolvendo ou testando a aplicação. Para rodá-la em um ambiente de produção, contudo, não é recomendável o uso de uma implementação tão simples de connection pool.
  • "O pool de conexão interna do Hibernate não é recomendado para uso de produção. Ele possui deficiência em diversos recursos encontrados em qualquer pool de conexão apropriado."

    Referência:
    [1] http://docs.jboss.org/hibernate/orm/3.5/reference/pt-BR/html/tutorial.html#tutorial-firstapp-configuration
    [2] http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/tutorial.html#tutorial-firstapp-configuration

ID
241675
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Programação
Assuntos

Em relação ao Hibernate 3.5.1-final, julgue os itens a seguir.

O C3P0 é uma rede de conexão JDBC, de código aberto, distribuído junto com o Hibernate, no diretório lib.

Alternativas
Comentários
  • Qualquer aplicação web que acesse bancos de dados precisa estar preparada para receber vários acessos simultâneos de usuários acessando a página e ainda assim acessar o banco de dados usando uma conexão com o banco. Mas o que acontece quando o número de usuário é muito grande? Cada vez que uma requisição é feita, o servidor deve abrir uma conexão com o banco de dados e fechá-la no final da requisição? Além do tempo de latência ser grande ao ficar abrindo e fechando conexões com o banco, deixando o sistema mais lento, isso simplesmente pode deixar a aplicação inutilizável no caso de um número grande de requisições.

    Para evitar que isso aconteça, é recomendado o uso de um connection pool para as conexões com o banco dados. Um connection pool significaria “piscina de conexões” em português. Basicamente, é uma camada que fica entre o cliente de banco de dados, que faz as conexões com o banco, e o próprio banco.

    Mas o que faz o pool? Basicamente, ele mantém certo número de conexões abertas com o banco de dados. Quando o cliente Java abre uma conexão usando o pool, ao invés de abrir uma nova conexão com o banco usando o driver JDBC, este simplesmente pega uma das conexões que ele já mantinha aberta com o banco e a marca como alocada para aquele cliente Java

  • o comentário do leo está perfeito, mas segue um pequeno detalhe:
    "C3P0 is an easy-to-use library for augmenting traditional (DriverManager based) JDBC drivers with JNDI-bindable DataSources, including DataSources that implement Connection and Statement Pooling, as described by the jdbc3 spec and jdbc2 standard extensio."

    fonte: http://java-source.net/open-source/connection-pools/c3p0
  • O C3P0 é um pool conexão JDBC de código aberto distribuído junto com Hibernate no diretório lib. O Hibernate usará o próprio  org.hibernate.connection.C3P0ConnectionProvider para o pool de conexão se você configurar a propriedade  hibernate.c3p0.*

    http://docs.jboss.org/hibernate/orm/3.5/reference/pt-BR/pdf/hibernate_reference.pdf
  • Gabarito Certo

    C3p0 é uma biblioteca “easy-to-use” usada para fornecer a capacidade de pooling de conexões.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • hj o mais usuario é o HIKARI


ID
241696
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Programação
Assuntos

A respeito da tecnologia JSF (JavaServer Faces), julgue os próximos itens.

Uma aplicação web deve prover mecanismos de validação de dados. O JSF fornece vários validadores de dados padrões que podem ser utilizados no lado do cliente (client-side).

Alternativas
Comentários
  • O JSF apresenta 6 fase principais:
    1. Restore View: cria a árvore de componentes;
    2. Apply Request Values: popula os componentes com os valores obtidos do request e realiza a conversão de valores;
    3. Process Validation:  realiza a validação dos dados obtidos do request;
    4. Update Model Values: preenche os managed beans com os valores obtidos e validados;
    5. Invoke Application: invoca as ações associadas aos componentes;
    6. Render Response: renderiza os componentes, gerando a visão para o usuário.

    Logo, o processo de validação não se dá no lado do cliente, mas em uma fase do ciclo de vida do JSF.
  • nao precisa conhecer o ciclo de vida do jsf, basta lembrar que ele eh server-side.
  • Sou leigo em JSF, no entanto achei a questão capiosa. No meu entendimento
    "O JSF fornece vários validadores de dados padrões que podem ser utilizados no lado do cliente
    Mas eu posso sim usar  o validador no lado cliente (página.xhtml):
    required =" true "/ >
    ou 

    E o PROCESSAMENTO vai ocorrer no lado servidor. 


    Até entendo o ciclo de vida e tudo mais. Minha treta é quanto a questão.


  • Sobre o required falado...

     
    Nada mais é do que um atributo que poderá estar contido em um campo input de uma página HTML que será devolvida em uma resposta HTTP.

     
    Conforme citado pelos colegas, o JSF realizará o seu ciclo de vida no servidor, realizando as suas respectivas validações, manipulação dos eventos, estados, componentes... tudo no servidor, gerando ao final, uma página em HTML que será enviada ao cliente.

     
    Essa página HTML, com seus campos, atributos... está fora do escopo do JSF.


ID
245245
Banca
CESPE / CEBRASPE
Órgão
TRT - 21ª Região (RN)
Ano
2010
Provas
Disciplina
Programação
Assuntos

Acerca de portlets, acessibilidade na Web e e-mag, julgue os itens
subsequentes.

Portlets é um subprojeto do Java Server Faces (JSF) que permite integração com o Apache Myfaces e que tem como característica nativa a criação de templates com componentes reutilizáveis utilizando o XHTML como tecnologia de view do JSF.

Alternativas
Comentários
  • Portlets não são um subprojeto do JSF. Maiores detalhes em http://en.wikipedia.org/wiki/Portlet

  • Portles é um componente visual independente que pode ser utilizado para disponibilizar informações dentro de uma página web. Pode ser utilizado em qualquer portal, promovendo assim a reutilização.
  • O erro maior está em dizer que o projeto é um subprojeto de JSF.

    --

    Na prática portlets são coisas como Enquente, Notícias, Fórum, Chat, Galeria de Fotos, são miniaplicativos que podem ser embarcados em portais, que são ageregadores de conteúdo.

    Para se criar um Portlet de implementar a interface de portlet ou então estender a class GenericPortlet.

    Geralmente os portlets utilizam JSP na camada de visão.

    Apache Pluto é a implementação de referência dos Portlets.
  • A questão está errada pois descreve FACELETS

    O Facelets é um subprojeto do JSF mantido pela Sun. Ele é facilmente integrado ao JSF e suas principais características são:

    ·         Permite integração com JSF 1.1 e 1.2, incluindo a especificação da Sun e o Apache Myfaces.

    ·         Facilidade na criação de templates.

    ·         O atributo “jsfc” que permite incluir trechos de código JSF nas tags HTML

    ·         Elimina o "JSP Compiler to Servlet" incrementando de 30% a 50% a performance do sistema.

    ·         Facilidade para criar componentes reutilizáveis.

    ·         Usa XHTML como tecnologia de view do JSF.

    ·         Precisão para reportar erros.

  • Esta questão estaria melhor classifiada se estivesse em desenvolvimento WEB.
  • O Portlet é um componente visual independente que pode ser utilizado para disponibilizar informações dentro de uma página WEB. E é uma especificação JSR não JSF.

ID
249436
Banca
CESPE / CEBRASPE
Órgão
DETRAN-ES
Ano
2010
Provas
Disciplina
Programação
Assuntos

A respeito da orientação a objetos e das respectivas linguagens de
programação, julgue os itens subsequentes.

O Hibernate, framework utilizado no desenvolvimento de consultas e atualização de dados em um banco relacional, foi criado para facilitar a integração entre programas em Java, funcionando também em ambientes .Net (NHibernate).

Alternativas
Comentários
  • Hibernate é um framework para o mapeamento objeto-relacional escrito na linguagem Java, mas também é disponível em .Net como o nomeNHibernate. Este programa facilita o mapeamento dos atributos entre uma base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso de arquivos (XML) para estabelecer esta relação.

    Fonte: Wikipedia
  • Eu discordo do gabarito, pois o Hibernate não facilita a integração entre programas JAVA, mas sim, integração entre programas JAVA e SGBDs Relacional.
    Mas quem sou eu para brigar como CESPE.  :-)))
  • "integração entre programas java" ?????

  • O Hibernate também é oferecido para executar a mesma função na plataforma .NET – é o famoso NHibernate.


ID
260410
Banca
FCC
Órgão
TRT - 4ª REGIÃO (RS)
Ano
2011
Provas
Disciplina
Programação
Assuntos

Framework para desenvolvimento de aplicações Java EE, que integra tecnologias JSF e EJB 3, entre outras, resultando num framework unificado, completo e sofisticado. Trata-se de

Alternativas
Comentários
  • o jboss seam é um framewrok que faz o link entre ejb e (jsf e jsp), poupando o desenvolvedor de certos detalhes e permitindo a concentração na lógica do negocio
  • O JBoss Seam é um framework para desenvolvimento de aplicações Java EE que integra, facilmente, tecnologias como Asynchronous JavaScript and XML (AJAX), JavaServer Faces (JSF), Java Persistence API (JPA), Enterprise Java Beans (EJB 3.0) e Business Process Management (BPM).

  • Nesse framework - JBOSS SEAM - também temos o JPA ( Java Persistent API)

    JSF - Java Server Faces - Desenvolvimento WEB com semântica de Desktop.
    O desenvolvedor pode programar o site com componentes visuais já disponível, e tratar eventos cliente-servidor. Usa Ajax.

    É como um Dreamweaverão.

    EJB - Enterprise Java Beans - Computação distribuida com POJOS

    POJOS - Plain Old Java Object.
  • lembrando que o seam já está na versão 3 http://seamframework.org/Seam3
  • JBOSS SEAN 2


ID
267757
Banca
CESPE / CEBRASPE
Órgão
TRE-ES
Ano
2011
Provas
Disciplina
Programação
Assuntos

Com relação à administração de sistemas operacionais e de sistemas
de informação, julgue os itens seguintes.

O Tomcat, servidor de aplicações Java para Web, é um software livre de código aberto, que surgiu do conceituado projeto Apache Jakarta, com o apoio e endosso oficial da Sun Microsystems como implementação de referência para as tecnologias Java Servlet e JavaServer Pages (JSP).

Alternativas
Comentários
  • O Tomcat é um servidor web Java, mais especificamente, um container de servlets. O Tomcat possui algumas características próprias de um servidor de aplicação, porém não pode ser considerado um servidor de aplicação por não preencher todos os requisitos necessários. Por exemplo, o Tomcat não tem suporte a EJB. Desenvolvido pela Apache Software Foundation, é distribuído como software livre dentro do conceituado projeto Apache Jakarta, sendo oficialmente endossado pela Sun como a implementação de referência para as tecnologias Java Servlet e JavaServer Pages (JSP). Ele cobre parte da especificação J2EE com tecnologias como servlet e JSP, e tecnologias de apoio relacionadas como Realms e segurança, JNDI Resources e JDBC DataSources. 


    Fonte: http://pt.wikipedia.org/wiki/Tomcat

    Se lançassem um livro de TI com uma compilação da Wiki seria mais prático estudar e passar em concursos :)
  • Tomcat é um servidor de aplicações , só não é um conteiner EJB ( Enterprise Java Beans ). É um container WEB que oferece Servlets e JSP.

    No MVC

    EJB -> Modelo
    Servlets -> Controle
    JSP e JSF -> View

    Outros servidores de Aplicação com suporte a EJB:

    JBOSS , ObjectWeb Jonas , Apache Gerônimo  e GlashFish ( Que é a implementação de referência da SUN).

    Os diretórios do TOMCAT:

    BIN -> binários do TOMCAT
    CONF -> Arquivos de configuração, inclusive o servlets.xml
    WEBAPPS -> Onde se colocam as aplicações e os WARs ( Web Archive )
    WORK -> Igual ao Build do Netbeans, é a área de trabalho do Tomcat, onde ele compila os JSPs em Servlets.
    LOGS -> Logs do servidor

  • O Tomcat, servidor de aplicações Java para Web...

    Não concordo que seja de fato um servidor de aplicações, pois ele não dá suporte a EJB. O servidor Apache Tomcat é um container Web

    Leia mais em: Introduzindo o servidor de aplicação Apache Tomcat http://www.devmedia.com.br/introduzindo-o-servidor-de-aplicacao-apache-tomcat/27939#ixzz33buC0Pca

  • Não dar suporte ao EJB não faz com que o Tomcat deixe de ser um Servidor de Aplicações Java para Web...


ID
267877
Banca
CESPE / CEBRASPE
Órgão
TRE-ES
Ano
2011
Provas
Disciplina
Programação
Assuntos

Considerando que a aplicação de testes em um programa possibilita
verificar se ele atende à sua especificação e se realiza o que o
cliente deseja, julgue os itens subsecutivos, relativos a testes de
software.

O framework JUnit, embora tenha sido projetado para realizar testes de unidade em um programa, também é utilizado para realizar testes funcionais.

Alternativas
Comentários
  • Como que o JUnit faz teste de " Caixa Preta". ?  

    valeu.
  • O JUnit é um framework de teste cujo objetivo principal é executar teste unitário, ou seja, teste de caixa branca dado que você conhece a estrutura do código. Contudo, o framework se baseia em rodar os testes com uma determinada entrada e comparar  a saída com o esperado, muito próximo de teste funcional.
    Como o JUnit é um framework, ou seja, pode ser adapdato as necessidades do desenvolvedor, podemos então concluir que, embora o JUnit seja usado primariamente para teste unitário/estrutural, ele pode sim ser usado para teste funcional.
  • Selenium WebDriver + JUnit!


ID
271015
Banca
CESPE / CEBRASPE
Órgão
PREVIC
Ano
2011
Provas
Disciplina
Programação
Assuntos

Acerca de plataforma Java EE e de JSP, julgue os seguintes itens.

Em uma aplicação multicamadas na plataforma Java EE, servlets, JavaServer Faces e JSP consistem em tecnologias utilizadas na camada web.

Alternativas
Comentários
  • Verdadeiro

    Rotina do CESPE colocar isso em prova.
  • Para responder esta questão, basta entender aplicações em camadas para J2EE:
    Em uma aplicação multi-tier ou multicamadas, existe a separação bem definida dos serviços.

    Na afirmação: "Em uma aplicação multicamadas na plataforma Java EE, servlets, JavaServer Faces e JSP consistem em tecnologias utilizadas na camada web." Está correto, pois separamos em seguintes camadas:

    1 camada de apresentação (camada cliente): componente que rodam na máquina do cliente, sejam elas funcionalidades de um Browser, páginas HTML, ou seja, funcionalidades locais, responsável pela apresentação homem x máquina;

    2 camada web (servidor web): aqui encontramos em execução por exemplo Tomcat. E que na plataforma Java EE encontramos tecnologias servlets, JSP, JSF..., ou seja parte estrutural de interface para a apresentação.

    3 camada de negócios: nesta camada é realizada toda parte de integração entre aplicações. Aqui podemos encontrar - EJB, Classes especializadas na lógica do negócio, DAO's...etc.

    4 camada de dados: nesta camada estão os servidores de dados.

    Logicamente isto é uma micro síntese.

  • Ilustrando o comentário acima:




    Fonte:http://docs.oracle.com/javaee/5/tutorial/doc/bnaay.html

ID
309592
Banca
CESPE / CEBRASPE
Órgão
TJ-ES
Ano
2011
Provas
Disciplina
Programação
Assuntos

Acerca dos sistemas operacionais Windows 2003/2008 Server e Linux, julgue os itens seguintes.

Na qualidade de servidor de aplicações Java para web, o Tomcat é parte da plataforma J2EE, que abrange as tecnologias Servlet e JSP, incluindo as tecnologias de apoio relacionadas, tais como Realms e segurança, JNDI Resources e JDBC DataSources. O Tomcat tem a capacidade de atuar também como servidor web/HTTP ou pode funcionar integrado a um servidor web dedicado, tais como o Apache httpd ou o Microsoft IIS.

Alternativas
Comentários
  • A fonte da questão foi:

    http://pt.wikipedia.org/wiki/Apache_Tomcat
  • O Tomcat é um servidor web Java, mais especificamente, um container de servlets. O Tomcat é um servidor de aplicações JEE, porém não é um servidor de EJBs. Desenvolvido pela Apache Software Foundation, é distribuído como software livre dentro do conceituado projeto Apache Jakarta, sendo oficialmente endossado pela Sun como a implementação de referência para as tecnologias Java Servlet e JavaServer Pages (JSP). Ele cobre parte da especificação J2EE com tecnologias como servlet e JSP, e tecnologias de apoio relacionadas como Realms e segurança, JNDI Resources e JDBC DataSources.

    Ele tem a capacidade de atuar também como servidor web, ou pode funcionar integrado a um servidor web dedicado como o Apache ou o IIS. Como servidor web, ele provê um servidor web HTTP puramente em Java.

    Resposta: "Certo"

    fonte: http://pt.wikipedia.org/wiki/Apache_Tomcat

  • Considerei errada por conta dessa afirmação "Tomcat é parte da plataforma J2EE".  Faz parte ou não  ???
  • Tomcat "servidor de aplicações" ? Não seria "servidor web" ?

    O servidor de aplicações Java não é o JBoss ?

    Fonte da questão Wikipedia !? OMG

  • Pelo que entendi dessa questão, o Cespe não quis avaliar se sabemos ou não se o Tomcat é servidor de aplicação. Ao dizer que "Na qualidade de servidor de aplicações Java para web, o Tomcat é parte da plataforma J2EE" ele quer dizer que o Tomcat está dentro da especificação - como de fato está por ser servidor web - e não se implementa toda a especificação JEE. O resto do item está correto.

  • Discordo do fato de o Tomcat ser parte integrante da plataforma J2EE (JEE atualmente). Ele é um produto que implementa parte da especificação. Quem faz parte dela é o JSP, Servlet. EJB, JNDI, etc. Se a afirmação em questão for verdadeira, JBoss, Glassfish, Websphere, Weblogic e tantos outros fariam parte da plataforma. O grande problema é a qualidade das informações da wikipedia, e principalmente, o CESPE usá-la como fonte para a elaboração de suas questões.

  • Tomcat 5.0 é a implementação de referência (RI) para Servlet 2.4 (JSR 154) e JSP 2.0 (JSR 152). Essas JSR são parte da plataforma J2EE (JavaEE 1.4). 
    Uma JSR é composta de:
    - especificação
    - implementação de referência (RI)
    - kit de compatibilidade tecnológica (TCK) - antigo CTS

    Então, Tomcat enquanto implementação de referência é parte da plataforma J2EE, da mesma forma que o glasfish é parte da JEE.

    https://books.google.com.br/books?id=tQkbi4XOwrcC&pg=PT54#v=onepage&q&f=false

  • "o Tomcat" não "é parte da plataforma J2EE" (atual JEE). O Tomcat implementa parte da especificação JEE.

  • Tomcat parte da plataforma é mtooo forçado... Mas segundo o cespe galera, qdo tu "instala" o j2ee, já vem o tomcat junto... aFF


ID
311866
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2011
Provas
Disciplina
Programação
Assuntos

Quanto ao Hibernate no ambiente Java, considere:

I. Sua principal característica é a transformação das classes Java para tabelas de dados porém não dos tipos de dados Java para os da SQL.

II. Nas aplicações standalone, delega o tratamento transacional ao driver JDBC.

III. Pode ser utilizado em aplicações Java standalone ou em aplicações Java EE.

É INCORRETO o que se afirma, APENAS em

Alternativas
Comentários

ID
316324
Banca
FCC
Órgão
TRE-RN
Ano
2011
Provas
Disciplina
Programação
Assuntos

No JavaServer Pages a tag <%=conteúdo %> é uma

Alternativas
Comentários
  • É só lembrar que expressão matemática tem "="

    1+1 =

    Quando você faz uma declaração, você afirma algo como:

    Esse dinheiro não é meu!

    Então em JSP Expressões são assim
    <%="conteudo a ser impresso aqui"%>

    Declarações são assim:
    <%! int numero=1 %>

    Assim, numero passa a ser variável de instância e pode ser acessada por this.

    Isso é um scriptlet

    <%
    // trecho de código java normal
    for( int i=0; i<1000; i++){
        ...
    }
    %>

    Isso é uma diretiva
    <% @page import="java.util.ArrayList" %>

    Isso é uma action tag
    <jsp:include page="pagina.jsp"/>

    A diferença entre diretivas e actions tags é que a primeira é resolvida em tempo de tradução, a segunda em tempo de solicitação.

  • Syntax Elements

    Standard Syntax

    XML Syntax

    Comments

    <%--.. --%>

    <!-- .. -->

    Declarations

    <%! ..%>

    <jsp:declaration> .. </jsp:declaration>

    Directives

    <%@ include .. %>

    <jsp:directive.include .. />

    <%@ page .. %>

    <jsp:directive.page .. />

    <%@ taglib .. %>

    xmlns:prefix="tag library URL"

    Expressions

    <%= ..%>

    <jsp:expression> .. </jsp:expression>

    Scriptlets

    <% ..%>

    <jsp:scriptlet> .. </jsp:scriptlet>



    Fonte: http://docs.oracle.com/javaee/5/tutorial/doc/bnaph.html
  • Faltou a tag no enunciado, pelo menos eu não estou vendo...

ID
316330
Banca
FCC
Órgão
TRE-RN
Ano
2011
Provas
Disciplina
Programação
Assuntos

No ciclo de vida do JSF copiar os parâmetros de requisição para valores submetidos pelos componentes, é a tarefa típica da fase

Alternativas
Comentários
  • Fase 2 – Apply Request values

    submitted form value stored in component

    letra C
     


    A JSF lifecycle diagram

  • Fonte do comentário do colega acima, para consulta de quem gostaria de ver todo o ciclo:

    http://download.boulder.ibm.com/ibmdl/pub/software/dw/java/j-jsf2-pdf.pdf
  • 1° restauração da árvore de componentes. primeiro acesso - JSF cria a árvore de acordo com a descrição do arquivo .xhtml.


    2°.extração dos valores com a requisição, atribuição aos respectivos componentes e conversão dos dados.


    3° validação dos valores. se não sucedida, o JSF interrompe seu ciclo de vida retornando para o navegador, com erro.


    4° se ok, atualizar os valores dos campos dentro do Managed Bean(setters)


    5°métodos associados a ações de botões executados dentro do MB.


    6°.getters e JSF gera o HTML enviado para usuário


ID
316333
Banca
FCC
Órgão
TRE-RN
Ano
2011
Provas
Disciplina
Programação
Assuntos

No Hibernate,

Alternativas
Comentários
  • a) ERRADO. É o arquivo de mapeamento é um arquivo XML que define as propriedades e os relacionamentos de uma
    classe para o Hibernate, este arquivo pode conter classes, classes componentes e queries em HQL ou em
    SQL.
    b) ERRADO. Tem como o desenvolvedor implementar INSERT utilizando o HIBERNATE.
    c) CORRETO.
    d) ERRADO. Os aqrquivos são em XML, e não em HTML.
    e) ERRADO. O desenvolvedor não acessa diretamente as tabelas do banco de dados, o HIBERNATE cria um mapeamento objeto/relacional, e o desenvolvedor acessa objetos.
  • Caramba!!!
    A FCC é fundação COPIA e COLA literalmente!!!
    Pensava que era só sacanagem da galera... 

    http://www.guj.com.br/content/articles/hibernate/intruducao_hibernate3_guj.pdf
  • Hoje em dia existe o recurso de Annotation, portanto a letra A também estaria correta.
    Esta questão deveria ser marcada como DESATUALIZADA.

  • Mas, é uma questão de 2011
  • Absurdo.... a tempos que o Hibernate permite mapear usando anotação... a letra A também está correta.
  • É só utilizar o teorema do chutágoras.

    mas não deu certo.. ;/
  • Errei a questão, pois marquei exatamente a letra A, devido ao recurso a possibilidade de utilizarmos as anotações.
    Mais uma casca de banana da FCC.
  • Concordo com o @Eduardo Ribeiro.

    Questão DESATUALIZADA, hoje você pode colocar mapear as tabelas com annotations (@Entity, @Column e etc) sem usar xml

  • é um absurdo a falta de competência dessa banca. Precisamos de uma lei de concursos urgente.

    Bom, o único erro que achei na letra A foi de português. Deve ter sido isso. Além de separar sujeito de verbo a FCC colocou um sujeito com preposição.. SHOW:

    No Hibernate, executa operações de busca, cadastro ou alteração de dados, sem requerer mapeamento da tabela em arquivo XML

    e vamos continuar nessa corrida, tentando desviar dessas cascas de bananas criadas pela incompetência!!!!

    Abraços
  • Mesmo que a questão seja de 2011, o recurso de mapeamento com annotations no Hiberntate, que dispensaria o uso de XML, está disponível desde 2005, o que tornaria a letra A correta também. Deveria ser anulada essa questão.

ID
316381
Banca
FCC
Órgão
TRE-RN
Ano
2011
Provas
Disciplina
Programação
Assuntos

Em relação ao JUnit, considere:

I. É um framework que auxilia a criação e execução de testes unitários sobre classes Java.

II. Possui integração com várias IDEs e é largamente utilizado em equipes de Extreme Programming.

III. Permite testes de unidades, conhecidos como "caixa branca", facilitando assim a correção de métodos e objetos.

IV. Permite criar hierarquia de testes para testar todo ou apenas parte do sistema.

Está correto o que se afirma em:

Alternativas
Comentários
  • Tesde de unidades são testes FUNCIONAIS, ou seja, caixa preta.

    Logo, assertiva III está errada.

  • Ao que parece o colega Paulo está correto, mas vamos imaginar o seguinte cenário: Vc fez a prova e entrou com recurso na questão, como vc baliza suas afirmações p/ que a banca anule a assertiva?

     

    Bom, procurei mas não achei nada relevante na net. Se alguém tiver as FUCKING FONTES que corroborem de forma precisa a afirmação do colega favor postar aqui! Se ninguém tiver ferrou, porque daí a FCC criou "jurisprudência" afirmando que testes unitários são caixa branca (de acordo c/ a Wiki)...

     

    No mais a FCC copiou e colou a questão daqui:

    https://pt.wikipedia.org/wiki/JUnit

     

    E o colega, ao que parece, daqui (*o problema é que não têm referências nesta página da Wiki):

    https://pt.wikipedia.org/wiki/Teste_de_caixa-preta

     

  • Colega está confundindo as coisas...

     

    Tesde de unidades = código-fonte = caixa-branca = ESTRUTURAL

  • Não concordo com item d)  Junit é tido como um framework para teste de unidade. Teste de unidade funcionam isoladamente! Na minha opinião a questão está mal fomulada. 

    TESTE DE UNIDADE: Um teste de unidade é aquele que testa uma única unidade do sistema. Ele a testa de maneira isolada, geralmente simulando as prováveis dependências que aquela unidade tem. Em sistemas orientados a objetos, é comum que a unidade seja uma classe. Ou seja, quando queremos escrever testes de unidade para a classe Pedido, essa bateria de testes testará o funcionamento da classe Pedido, isolada, sem interações com outras classes.

    Fonte: http://blog.caelum.com.br/unidade-integracao-ou-sistema-qual-teste-fazer/

      


ID
319684
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

O Hibernate é um framework, padrão DAO, que faz o mapeamento de informações do banco de dados para componentes Java. Em relação às características do Hibernate 3.5.1, assinale a opção correta.

Alternativas

ID
321085
Banca
CESPE / CEBRASPE
Órgão
Correios
Ano
2011
Provas
Disciplina
Programação
Assuntos

A respeito de desenvolvimento de projetos de sistemas, julgue os itens subsequentes.

No Hibernate, o recurso Query Cache possibilita fazer o cache de queries que são executadas várias vezes.

Alternativas
Comentários
  • Além de mecanismo de mapeamento objeto/relacional, o Hibernate também pode trabalhar com um sistema de cache das informações do banco de dados, aumentando ainda mais a performance das aplicações. O esquema de cache do Hibernate é complexo e totalmente extensível, existindo diversas implementações possíveis, cada uma com suas próprias características. E junto com isso, ele também tem um gerenciador de versões próprio.
    Fazer cache de objetos pode aumentar a performance de sua aplicação, mas cuidado para não abusar muito, porque isto pode aumentar consideravelmente a quantidade de memória que sua aplicação está utilizando.

  • Podem ser feitos caches dos resultados das queries. No caso específico do "Query cache", isso só é útil se elas forem utilizadas com alta frequência e com os mesmos parâmetros.
    https://docs.jboss.org/hibernate/orm/4.0/devguide/en-US/html/ch06.html#d0e2601


ID
334579
Banca
FCC
Órgão
TRT - 23ª REGIÃO (MT)
Ano
2011
Provas
Disciplina
Programação
Assuntos

No JEE 6 é a especificação que tem como propósito unir os modelos de componentes do JSF Managed-Beans com o EJB, proporcionando um modelo de fácil implementação para aplicações web

Alternativas
Comentários
  • CDI is a set of services that, used together, make it easy for developers to use enterprise beans along with JavaServer Faces technology in web applications.

    Fonte: The Java EE 6Tutorial
  • Em seu lançamento, uma das maiores críticas para a adoção do EJB era a complexidade exigida para o programador na hora de usar suas APIs, o que levou ao desenvolvimento e popularização de frameworks mais práticos, como Spring e Hybernate.
    A partir da versão EJB 3.0, buscou-se o uso intenso de annotations como uma forma de simplificar a sintaxe e o uso dessas APIs, dentre elas, JSF.

    Annotations permitem que certas operações, como injeções de dependência, se tornem mais simples.

    Particularmente, na JSR 299: Contexts and Dependency Injection (CDI), define-se um conjunto de serviços que permite que componentes JEE como servlets, EJB e POJO possam ser manipulados dentro do ciclo de vida da aplicação com escopos bem definidos.  CDI também permite que componentes JEE, EJB e JSF ManagedBeans serem injetados com baixo acoplamento: unificando e simplificando o modelo de programação entre estas duas tecnologias. Dentro dos muitos serviços, CDI traz suporte a transação dentro do web container, facilitando a utilização de recursos relacionados as fontes de dados e mecanismos de persistência.
    Por exemplo, com CDI fica muito fácil construir uma aplicação web que acesse um banco de dados usando como persistência  a especificação do JPA.


    Fonte: http://fernandofranzini.wordpress.com/2009/11/06/dependency-injection-com-jsf-2-0/
  • Caro Asdrubal,

    Suas explicações são sempre muito interessantes e de grande serventia.

    Obrigado pela ajuda nas questões!
  • a-

    A injeção de dependencia implica instancia e remocao de objeto ocorrendo de modo transparente no codigo fonte. é feita por annotations que solicitam ao application server quand um recurso for necessario a aclasse


ID
334588
Banca
FCC
Órgão
TRT - 23ª REGIÃO (MT)
Ano
2011
Provas
Disciplina
Programação
Assuntos

Na estrutura do Spring o módulo que provê uma camada de abstração para JDBC, eliminando grande parte da codificação necessária para interagir com um banco de dados é o

Alternativas
Comentários
  • Essa questão fica fácil de resolver quando se tem em mente o que significa o termo DAO (data access object).
    Correta a letra D.
  • O módulo Spring Core representa as principais funcionalidades do Spring, no qual o principal elemento é o BeanFactory. Trata-se de uma implementação do padrãoFactory, responsável em remover a programação de Singletons e permitindo o baixo acoplamento entre a configuração e a especificação de dependências, de sua lógica de programação.

    O módulo Spring DAO provê uma camada de abstração para JDBC, eliminando grande parte da codificação necessária para interagir com um banco de dados. O módulo ORM, entretanto, provê integração do Spring com outros frameworks para persistência de objetos, como Hibernate e iBatis. Para prover uma implementação de Orientação a Aspectos que permite a definição de pointcuts methods interceptors, existe o módulo Spring AOP.

    Para prover funcionalidades específicas para projetos Web, tem-se o módulo Spring Web. São funcionalidades como componentes para upload de arquivos e suporte para utilização de Inversão de Controle neste tipo de aplicação. O módulo Spring MVC, entretanto, fornece uma implementação de framework Web, similar ao Struts.

    fonte: http://imasters.com.br/artigo/4497/java/spring_framework_introducao/

  • Questão desatualizada já

    seria Spring Data

  •  Interface que representa o container IoC (Inversão de Controle) do framework Spring: org.springframework.beans.factory.BeanFactory.

     fornece uma implementação orientada a objetos que permite definir, por exemplo, interceptadores: Módulo AOP

    fornece uma camada de abstração para JDBC, eliminando grande parte da codificação necessária para interagir com um banco de dados: DAO


ID
334597
Banca
FCC
Órgão
TRT - 23ª REGIÃO (MT)
Ano
2011
Provas
Disciplina
Programação
Assuntos

Em relação ao JSF 1.2 é INCORRETO afirmar que

Alternativas
Comentários
  • JavaServer Faces permite a edição visual de folhas de estilo CSS e Comandos em JavaScript. Também o uso da metodologia AJAX.

    Então os itens A e E estão corretos.

    O JSF também inclui um conjunto de componentes para ser utilizado, um conjunto de tags para acessar esses componentes e permite a reutilização de componentes de página.

    Então o item B está certo.

    JSF também inclui um modelo de eventos no lado servidor, além da gerência de estados, internacionalização e acessibilidade.

    Então a letra D está correta.

    A letra C está errada porque no JSF a aplicação é executada quase que completamente no lado servidor, o que é considerado uma desvantagem, embora tenham alguns componentes novos, como os da Apache MyFaces, que utilizem AJAX.

    Também é considerada uma desvantagem a questão do particinamento de aplicação cliente e servidor ser fixo.

    FONTE: http://pt.wikipedia.org/wiki/JavaServer_Faces
  • Incorreta: C

    Todo o processamento do JSF ocorre no servidor. Os componetes JSF encontram-se nos JSPs, que são processados nos Web Containers. Além disso, as aplicações JSF (FacesServet e Managed beans), também se encontram no WEB Container.
    Bons estudos!
  • Tudo ocorre no lado do cliente?? rsrsr fácil matar essa, jsf é do lado do servidor tudo acontece lá.

  • java SERVER faces


ID
334600
Banca
FCC
Órgão
TRT - 23ª REGIÃO (MT)
Ano
2011
Provas
Disciplina
Programação
Assuntos

NÃO se trata de um contexto Seam:

Alternativas
Comentários
  • Os contextos básicos do Seam são:

    Stateless context

    Event (or request) context

    Page context

    Conversation context

    Session context

    Business process context

    Application context


    Fonte: http://docs.jboss.org/seam/1.2.1.GA/reference/en/html/concepts.html

    Outra explicação em: http://blog.spock.com.br/2008/07/seam-contexts-ilustrados.html

    Bons estudos!

ID
334795
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2011
Provas
Disciplina
Programação
Assuntos

Em relação a frameworks Java, considere:
I. Associa os eventos do lado cliente com os manipuladores dos eventos do lado do servidor.

II. Fornece separação de funções que envolvem a construção de aplicações Web.

III. Inclui um conjunto padrão de componentes de interface de usuário que possibilitam validação padronizada.
Os itens I, II e III, referem-se a

Alternativas
Comentários
  • detalhe legal é a FONTE desta questão: http://pt.wikipedia.org/wiki/JavaServer_Faces

    Características

    • Permite que o desenvolvedor crie UIs através de um conjunto de componentes UIs pré-definidos;
    • Fornece um conjunto de tags JSP para acessar os componentes;
    • Reutiliza componentes da página;
    • Associa os eventos do lado cliente com os manipuladores dos eventos do lado do servidor (os componentes de entrada possuem um valor local representando o estado no lado servidor);
    • Fornece separação de funções que envolvem a construção de aplicações Web.
    • Utiliza Ajax em alguns de seus componentes tornando alguns processos mais rápidos e eficientes.
  • O que seria itens I, II e II (3 variáveis) referem-se a X e Y (2 variáveis), respectivamente?

  • Também gostaria de saber, Maurício Bastos. =/ rsrs

  • b-

    Java Server Faces (JSF) é o framework padrão Java para aplicações web com JEE. Ele define componentes visuais para WEB, com MVC (model-view-controller): divisão das responsabilidades de uma aplicação em três camadas distintas:


    1. View: renderização 
    2. Controller: receber e tratar os eventos da View.
    3. Model: lógica de negócios.

     

    JSF - especificação pelo JCP através de JSRs. define API padrão e extensível por classes e interfaces.


    As principais funcionalidades que o JSF:


    1-Gerenciamento do ciclo de vida dos componentes visuais e geração do HTML a partir deles.


    2- biblioteca de componentes visuais básicos análogos aos componentes HTML.


    3- Suporte templates de tela para reuso de estruturas de interfaces Web;


    4- componentes visuais personalizados;


    5- Suporte nativo a ajax.


    6- Validação, conversão e formatação de dados de formulários.


    7- Tratamento de eventos entre telas Web.

     

    8- Gerenciamento da navegabilidade


    O JSF é baseado em objetos na memória no servidor e responsáveis pela geração do HTML, assim os valores nos componentes manten seu estado, permitindo sua recuperação após várias requisições.


ID
362731
Banca
CESPE / CEBRASPE
Órgão
TRE-BA
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens subsequentes, a respeito da tecnologia J2EE.

Uma página JSF pode ser composta de conteúdos estáticos, como tags HTML e códigos dinâmicos.

Alternativas
Comentários
  • o erro está em citar códigos dinâmicos como sendo um tipo conteúdo estático

    uma vírgula após HTML tornaria a questão certa, ja uma página jsf pode ser composta por conteúdos estáticos e dinâmicos
  • Isso não é questão de informática, mas sim uma pegadinha mental.

    Ela não tem diferença em relação a esta proposição:
    "É verdade que 1kg de algodão pesa mais do que 1kg de chumbo."

    Salve-se quem puder...
  • O cara q fez essa questão merece uma surra de cipó molhado. pqp.
  • sacanagem pura, deveriam testar o conhecimento e não ficar com essas pegadinhas idiotas.
  • Isso é muito mais uma questão de português do que JSF...
  • Também cai nessa, foi falta de atenção na interpretação..
  • aiaia..
    parei de criticar esses examinadores do CESPE com relação a JSF
  • sei que a questão está errada por causa da vírgula
    mas isso ai também seria mais aplicável a JSP certo?
  • salvio,

    se a questão estivesse falando de JSP e redigita da forma abaixo (com a vírgula!) estaria correta:

    Uma página JSP pode ser composta de conteúdos estáticos, como tags HTML, e códigos dinâmicos.

  • Caramba... realmente CESPE. Caí facil na pegadinha. Português antes de tudo. @#$##@@$ kkkkk

  • Sacanagem pura, deveriam testar o conhecimento e não ficar com essas pegadinhas idiotas.[2]. Isso não questão de TI e sim de joguinhos. Concursos para TI, que é uma área técnica, não é como concursos para áreas administrativas e geral que tem multidão.


ID
362884
Banca
CESPE / CEBRASPE
Órgão
TRE-BA
Ano
2010
Provas
Disciplina
Programação
Assuntos

Quanto ao Hibernate, julgue o item abaixo.

O Hibernate, um framework para o mapeamento objeto- relacional, é escrito na linguagem Java e, por isso, somente pode ser executado no ambiente Java.

Alternativas
Comentários
  • Tem uma versão para .NET também - NHIBERNATE.
  • Questãozinha safada!

    Se a questão fosse:
    "O Hibernate, um framework para o mapeamento objeto-relacional, somente pode ser executado no ambiente Java".
    Concordo que estaria ERRADO, afinal existe o NHibernate, versão escrita em C#.

    Mas quando a questão diz: "escrito na linguagem Java", então só pode ser utilizada em ambiente Java.
  • concordo que a questao deveria ser anulada. Afinal hibernate != nhibernate.

    Quem estuda um edital que tem foco em JAVA não tem obrigacao de saber que existe solução para outra linguagem, ainda mais com nome diferente.
  • Não sei se essa foi a intenção da questão, mas se pode usar o Hibernate Java juntamente com qualquer linguagem que roda na JVM: Scala, JRuby...
  • Amigos, se roda sobre a JVM, lógicamente é ambiente Java. Assim, essa questão deveria ter seu gabarito alterado para errado.
  • Hibernate é um framework para o mapeamento objeto-relacional escrito na linguagem Java, mas também é disponível em .Net como o nome NHibernate. Ref. http://pt.wikipedia.org/wiki/Hibernate.
    Dessa forma, a questão está errada, já que o framework pode ser executado em ambiente .NET (com o NHibernate).
    Bons estudos!
  • A questão está errada, pois como ela mesma diz o hibernate tendo sido escrito em Java só pode ser executado sobre uma jvm. O nhibernate (que aliás não é o hibernate propriamente dito) deve ter sido reescrito em uma linguagem suportada pela plataforma .net. Esses 2 erros conceituais só evidenciam  despreparo teórico de nossos avaliadores.

  • A maquina virtual java, JVM, pode execultar codigos escritos em outros liguagem, como Scala, podendo-se usar um framework escrito em java em outro ambiente, ja que tudo é convertido para bytecode.


ID
377611
Banca
FCC
Órgão
TRE-AP
Ano
2011
Provas
Disciplina
Programação
Assuntos

O JSF extrai todos os valores digitados pelo usuário e guarda esse valor nos seus respectivos componentes. Se o valor digitado não coincidir com o componente, um erro vai ser adicionado na classe FacesContext e será mostrado na fase Render Response Phase.

No ciclo de vida do JSF trata-se de um evento típico da fase

Alternativas
Comentários
  • Fase 2 – Apply Request values

    O propósito desta fase é fazer com que cada componente recupere se estado corrente. 
     
    O Componente deve primeiro ser criado ou recuperado a partir do FacesContext, seguido por seus valores. 

    Se o campo for Inteiro, o valor será convertido para um inteiro. Se a conversão falhar será adicionado no FacesContext uma mensagem de erro que será exibida durante a fase de Render response.

  • Cuidado com a confusão entre CONVERSÃO e VALIDAÇÃO.

    A Conversão vai cuidar de fazer algo assim:



    É claro que se o usuário colocar algo como:

    "nasci em quatro de abril, lá no ano do senhor de 1942"

    Não vai ter como o componente converter isso então será lançado um erro.

    Já a validação é um processo posterior, como por exemplo validação de valores mínimos e máximos.


    <f:validate>

    É claro que o objetivo sem futuro da banca foi esse mesmo.




  • Aqui tem o conceito das outras fases: http://www.dsc.ufcg.edu.br/~jacques/cursos/daca/html/jsf/jsf.htm
  • Segue o ciclo de vida completo do JSF: (por essa definição a questão a fase correta seria a 3 - Validação do processo.) Ref: http://pt.wikipedia.org/wiki/JavaServer_Faces#Ciclo_de_vida

    1. Restauração da visão (MCV - controller no FaceServlet) - o objetivo principal desta fase é construir a árvores de componentes. Ela utiliza o template e cria a árvore inicial através da análise da requisição. Após isto, ela salva o estado da árvore no objeto FacesContext. Nas requisições subsequentes, ela cria a árvore do estado e procede a execução do resto do ciclo de vida.

    2. Aplicação dos valores de requisição (MCV - controller no FaceServlet)- o JSF pega cada componente da árvore começando com a raiz e a cria ou recupera do objeto FacesContext. Cada componente na árvore gerencia seus próprios valores e toma-os dos parâmetros, cookies e cabeçalhos da requisição HTTP.

    3. Validações de processo - (MCV - controller nos managed beans)o JSF realiza a conversão e validação sobre todos os componentes começando com o raiz. O valor submetido de cada componente é convertido em um objeto e validado chamando-se o validador registrado. O JSF salva o valor submetido. Se ocorrer um erro durante a conversão ou validação, o ciclo de vida escapa diretamente para a fase de "apresentação da resposta".

    4. Atualização de valores de modelo (MCV - controller nos managed beans atuando no Modelo)- durante esta fase, o valor do componente é passado para o modelo através da atualização das propriedades dos backing beans.

    5. Invocação da aplicação (MCV - controller nos managed beans atuando na View)- a manipulação de evento para cada action e listener de action é executada começando com o(s) listener(s) de action e então a chamada do método da action.

    6. Apresentação da resposta - momento é que a View retorna ao usuário.

  • Acredito que nesta questão, foi adicionado o conceito de Apply Request Values Phase na primeira parte e de Process Validations Phase no final da questão.

  • 1° passo - restauração da árvore de componentes. primeiro acesso - o JSF cria-a de acordo com a descrição do arquivo .xhtml.


    2. extração dos valores,atribuição aos respectivos componentes da árvore e conversão dos dados.


    3° passo -validação dos valores


    4. atualizar os valores dentro do Managed Bean (métodos setters do MB invocados)


    5.métodos associados a ações de botões executados dentro do MB.


    6. JSF gera o HTML enviado com base na árvore de componentes. Antes disso, os valores são extraídos do MB, através de todos os métodos getters.

  • 1. Restore View;

    Recuperar tela ou visão: Nesta fase, o componente Controller recupera o ID da tela (determinado pelo nome da página JSP). Assim, o framework JSF cria três tipos de instâncias: Nova visão, visão de inicio e visão de retorno. Cada uma dessas instâncias recebe um tratamento diferenciado. 

    2. Apply request values;

    Aplicação dos valores recuperados: Esta etapa é promove o estado atual de cada componente. Por meio do FacesContext, os componentes são criados ou recuperados quer pelo método request quer pelos cookies. Uma segunda curiosidade, é que nesta fase são aplicados os "Converters" criados pelo usuários.

    3. Process Validation;

    Processo de validação: Como o próprio nome sugere, é nesta fase que as validações são aplicadas nos valores de cada componente.

    4. Update model values;

    Atualização dos valores do modelo: Neste estágio do ciclo de vida, os valores descritos na tela (Conteiner Cliente) serão atualizados no modelo do lado do servidor (J2EE Server). Sendo assim, as propriedades do managed beans serão atualizadas somente a nível de tela. Não cabe neste momento, aproximar à idéia de atualização de informações na base de dados.

    5. Invoke Application; 

    Invocar a aplicação: Nesta etapa, o Controller manipula o envio do formulário a fim de realizar as aplicações das regras de negócio.

    6. Render response.

    Este estágio corresponde ao retorno da aplicação para a visão (Já que o processo encontrava-se no Conteiner Server) com todos os componentes em seu estado atual.


ID
456166
Banca
FCC
Órgão
TRT - 23ª REGIÃO (MT)
Ano
2011
Provas
Disciplina
Programação
Assuntos

Sobre as coleções do Hibernate, considere:

I. Quando um objeto é adicionado na coleção, o número da versão do proprietário da coleção é incrementado.
II. Quando um objeto é removido da coleção, o número da versão do proprietário da coleção é decrementado.

III. Se uma entidade é adicionada a uma coleção (uma associação um-para-muitos ou muitos-para-muitos), ela fará com que a entidade se torne persistente, por padrão.

IV. Se um objeto removido de uma coleção for uma instância de um tipo de valor, este objeto irá parar de ser persistente e seu estado será completamente removido do banco de dados.

Está correto o que consta em

Alternativas
Comentários
  • Segundo a documentação do Hibernate, no capítulo que trata sobre coleções:

    As coleções do Hibernate são consideradas uma parte lógica de suas próprias entidades, nunca das entidades contidas.

    - Quando removemos ou adicionamos um objeto da/na coleção, o número da versão do proprietário da coleção é incrementado.

    - Se um objeto removido de uma coleção for uma instância de um tipo de valor, este objeto irá parar de ser persistente e seu estado será completamente removido do banco de dados. Da mesma forma, ao adicionar uma instância de tipo de valor à coleção, causará ao estado uma persistência imediata.

    - Por outro lado, se uma entidade é removida de uma coleção (uma associação um-para-muitos ou muitos-para-muitos), ela não será deletada por padrão. Da mesma forma, ao adicionar uma entidade à coleção, não faz com que a entidade se torne persistente, por padrão.

    Portanto, apenas os itens 1 e 4 estão corretos.
  • tenso ein, quantas mil páginas não deve ter a documentação do hibernate, e isso é apenas um tópico do seu edital...tem que ter razoabilidade nas questões senão vira sorte, o conteúdo é infinito, tem que delimitar


ID
495847
Banca
FUMARC
Órgão
BDMG
Ano
2011
Provas
Disciplina
Programação
Assuntos

Em relação aos conceitos da tecnologia JavaServer Faces (JSF), analise as seguintes afirmativas:

I. JSF fornece um conjunto de componentes de interface de usuário – componentes JSF – que ajudam na construção de páginas Web.

II. Os componentes JSF podem ser adicionados a páginas JSP por meio das bibliotecas de tags personalizadas (tag libraries).

III. Além dos componentes básicos, existem bibliotecas nativas de componentes JSF adaptados para interfaces Swing e AWT, por exemplo.

Marque a alternativa CORRETA:

Alternativas
Comentários
  • Correto letra A.

    III. Além dos componentes básicos, existem bibliotecas nativas de componentes JSF adaptados para interfaces Swing e AWT, por exemplo.  - Falso

    JSF é da plataforma Java EE, ou seja, para o desenvolvimento de aplicações web. Já o Swing e o AWT são da plataforma Java SE, ou seja, para o desenvolvimento de aplicações Desktop.

ID
582676
Banca
FCC
Órgão
TRT - 19ª Região (AL)
Ano
2011
Provas
Disciplina
Programação
Assuntos

Jboss Seam é um framework Java para construções de aplicações RIA (Rich Internet Applications). Em relação a este framework, é INCORRETO afirmar:

Alternativas
Comentários
  • Uma das principais justificativas pra se usar o Jboss Seam é que os frameworks web geralmente utilizam muito XML para configuração, mapeamento, etc. O Jboss Seam permite o uso de anotações como alternativa.
  • Prefere o uso de anotações XML em vez de anotações XML.
  • O JBoss Seam é um framework para desenvolvimento de aplicações Java EE que integra, facilmente, tecnologias como Asynchronous JavaScript and XML (AJAX), JavaServer Faces (JSF), Java Persistence API (JPA), Enterprise Java Beans (EJB 3.0) e Business Process Management (BPM).
    O Seam foi desenvolvido para eliminar a complexidade em níveis de arquitetura e API. Oferece aos desenvolvedores total controle sobre a implementação da lógica de negócio sem se preocupar com a exposição das informações e/ou configuração excessiva de arquivos XML, dispondo de anotações para classes Java e componentes bem definidos para a camada de apresentação.
  • Muitas aplicações/frameworks usam anotações no lugar de XML por ser bem mais fácil e intuitivo o aprendizado e uso dos recursos disponíveis.


ID
582682
Banca
FCC
Órgão
TRT - 19ª Região (AL)
Ano
2011
Provas
Disciplina
Programação
Assuntos

Em sua essência, o Hibernate é um framework para

Alternativas
Comentários
  • O Hibernate é um framework para o mapeamento objeto-relacional escrito na linguagem Java, mas também é disponível em .Net como o nome NHibernate. Este framework facilita o mapeamento dos atributos entre uma base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso de arquivos (XML) ou anotações Java (veja Annotation
    (java)).

    Hibernate é um software livre de código aberto distribuído com a licença LGPL.


  • É um framework para mapeamento objeto-relacional (ORM) cujo objetivo é diminuir a complexidade entre programadores java que precisam trabalhar com banco de dados do modelo relacional.  

     

    Relação com JPA -

    A JPA-Java Persistence API é o padrão adotado pelo Java para soluções ORM (Objeto Mapeamento Relacional). A JPA define as regras ORM via anotações, mas por ser uma especificação ou padrão ela depende de um provider.  Nessa aplicação poderá ser utilizado o HIBERNATE como provider JPA.


ID
582685
Banca
FCC
Órgão
TRT - 19ª Região (AL)
Ano
2011
Provas
Disciplina
Programação
Assuntos

Linguagem de queries, fornecida pelo Hibernate, que é similar em aparência ao SQL e que, no entanto, é orientada a objeto e compreende noções como herança, polimorfismo e associação. Trata-se de

Alternativas
Comentários
  • A HQL (Hibernate Query Language) é um dialeto SQL para o Hibernate. Ela é uma poderosa linguagem de consulta que se parece muito com a SQL, mas a HQL é totalmente orientada a objeto, incluindo os paradigmas de herança, polimorfismo e encapsulamento.
     
    No Hibernate, você pode escolher tanto usar a SQL quanto a HQL. Escolhendo a HQL, você poderá executar os pedidos SQL sobre as classes de persistência do Java ao invés de tabelas no banco de dados, aumentando, assim, a distância entre o desenvolvimento da regras de negócio e o banco de dados.
  • Hibernate Query Language (HQL)


ID
613150
Banca
CESPE / CEBRASPE
Órgão
BRB
Ano
2011
Provas
Disciplina
Programação
Assuntos

Acerca de mapeamento objeto-relacional, julgue os seguintes itens.

O mapeamento objeto-relacional é um mecanismo que utiliza a serialização de objeto simples para a persistência de dados em banco de dados relacional. Nesse tipo de mapeamento, a serialização de objetos é realizada pela decomposição de objetos em dados relacionais.

Alternativas
Comentários
  • Serialização simples é apenas a persistência de objetos em disco. Na serialização os objetos não são mapeadoas em tabelas.
  • Na verdade serialização não tem a ver com persistência! Serialização é o ato de transformar um objeto em string. E deserialização é o processo inverso, reverter uma string para objeto.
  • Somente complementando os comentários dos colegas abaixo:

    Existem várias formas de tornar os dados de uma aplicação persistentes. O mecanismo de serialização é um deles, porém não se propõe a persistir os dados em Banco de dados e sim em um arquivo.

    Vejamos as diversas formas de persistir dados:

    1. Gravá-los (serializá-los) em um arquivo com Java Serialization. 

    2. Convertê-los em XML usando ferramentas como JAXB. 

    3. Armazená-los em um banco de dados (várias formas). 

    4. Armazená-los em sistema de arquivos ou outro meio de armazenamento usando algoritmo próprio. 


    A questão misturou as formas 1 e 3, o que a tornou ERRADA.

    Espero ter ajudado!


  • Prezados,

    Nem todo mapeamento objeto-relacional é feito através de serialização. Não obstante, a serialização do objeto transforma ele, como um todo, numa espécie de string, então, a serialização por si só não garante a transformação do objeto ( e o valor de seus atributos ) em dados relacionais. 

    Portanto a questão está errada.


ID
613198
Banca
CESPE / CEBRASPE
Órgão
BRB
Ano
2011
Provas
Disciplina
Programação
Assuntos

A respeito de teste de software, julgue os itens a seguir.

JUnit é um framework open source que realiza testes unitários funcionais e de integração em aplicações desenvolvidas em qualquer linguagem.

Alternativas
Comentários
  • O JUnit é um framework open source que realiza testes unitários funcionáis em aplicações desenvolvidas na linguagem de programação Java.
  • Corrigindo a acertiva:
    JUnit é um framework open source que realiza testes unitários funcionais e de integração em aplicações desenvolvidas em linguagem java.
  • O JUnit, de fato é um framework open source para realização de testes unitários e de integração em aplicações desenvolvidas em Java. Mas será que ele realmente realiza testes FUNCIONAIS(caixa-preta)? Acredito que não.
  • Além de ser na linguagem Java, JUnit realiza testes estruturais, ou seja, Caixa-branca.

  • Q89290 - O framework JUnit, embora tenha sido projetado para realizar testes de unidade em um programa, também é utilizado para realizar testes funcionais. [CERTO]

  • Prezados,

    O JUnit prove testes unitários. Para fazermos testes de integração temos que usar outra ferramenta.
    Não obstante, o JUnit não trabalha com aplicações desenvolvidas em qualquer linguagem, conforme aponta o comando da questão.

    Portanto a questão está errada.


ID
616954
Banca
FCC
Órgão
MPE-SE
Ano
2010
Provas
Disciplina
Programação
Assuntos

No framework Hibernate os objetos que ainda não têm uma representação no banco de dados, ainda não estão sob o controle do framework e podem não ser mais referenciáveis a qualquer momento, como qualquer objeto normal em Java, são do tipo

Alternativas
Comentários
  • Transient


ID
622123
Banca
CESPE / CEBRASPE
Órgão
CBM-DF
Ano
2011
Provas
Disciplina
Programação
Assuntos

Com relação ao desenvolvimento web, julgue os itens subsequentes.

Uma vantagem do Framework JSF é a execução da aplicação quase que totalmente no servidor.

Alternativas
Comentários
  • O que matou a questão foi esse "quase" o JSF é totalmente voltado ao servidor.
  • O erro está em dizer que isso aí é uma vantagem, o que não é, é uma desvantagem.
    []s
    Marcelo
  • o erro está em dizer que é uma vantagem do framework, sendo que em qualquer aplicação web a aplicação é executada quase que totalmente no servidor, o JSF oferece outras vantagens. 
  • Em JSF, todo o processamento acontece no servidor.
  • Que questãozinha de meeeeeeer#$@#$@#$@#
    Esses examinadores do CESPE tenho certeza absoluta que nunca usaram JSF

    Na verdade não se pode dizer que é uma vantagem e nem desvantagem. Depende do caso.
  • JSF utiliza Ajax, e Ajax utiliza XML e JavaScript. Se JavaScript é utilizado no cliente, então não seria incorreto dizer que tudo roda no servidor?


ID
622129
Banca
CESPE / CEBRASPE
Órgão
CBM-DF
Ano
2011
Provas
Disciplina
Programação
Assuntos

Com relação ao desenvolvimento web, julgue os itens subsequentes.

A principal característica do Hibernate é a transformação das tabelas de dados para classes em Java. Além disso, ele gera as chamadas SQL e libera o desenvolvedor do trabalho manual da conversão dos dados resultantes.

Alternativas
Comentários
  • Sua principal característica é a transformação das classes em Java para tabelas de dados (e dos tipos de dados Java para os da SQL). O Hibernate gera as chamadas SQL e libera o desenvolvedor do trabalho manual da conversão dos dados resultante, mantendo o programa portável para quaisquer bancos de dados SQL, porém causando um pequeno aumento no tempo de execução.

    Fonte: 

    http://pt.wikipedia.org/wiki/Hibernate

    Parece que o CESPE passou mesmo a adotar a fonte de questões que a FCC mais usa!

     

  • Essa característica do Hibernate não é unidirecional. Ele realiza o mapeamento objeto-relacional. Em suma, ele faz a intermediação entre classes java e tabelas de bancos de dados relacional.
    Acredito que o erro não esteja na troca de posição dos termos e sim ao afirmação que ele faz transformação, pois isso não ocorre. Uma classe não transforma em tabela, nem uma tabela se transforma em classe. O que ocorre é a mediação do hibernate entre esses dois componentes que não se entendem, realizando o mapeamento que sem seu uso é extremamente custoso para o desenvolvedor.
  • O mapeamento no Hibernate pode ser realizado em duas abordagens:
    Top-Down: A partir de modelos de classe gera-se o modelo de dados
    Bottom-Up: A partir do modelo de dados gera-se o modelo de classes (engenharia reversa)

    Acredito que a principal característica e facilidade seja a abordagem Top-Down, que é justamente a inversa do que foi apresentado na questão.
  • A questão foi tirada diretamente do site do hibernate:

    "Hibernate is a high-performance Object/Relational persistence and query service. The most flexible and powerful Object/Relational solution on the market,

    Hibernate takes care of the mapping from Java classes to database tables and from Java data types to SQL data types. It provides data query and retrieval facilities that significantly reduce development time. (grifo nosso)

    Hibernate’s design goal is to relieve the developer from 95% of common data persistence-related programming tasks by eliminating the need for manual, hand-crafted data processing using SQL and JDBC.  However, unlike many other persistence solutions, Hibernate does not hide the power of SQL from you and guarantees that your investment in relational technology and knowledge is as valid as always."

    Apesar da questão não citar o caminho inverso, isso não invalida a questão. O problema está com o termo mapping e transformação.

    Fonte:
    www.hibernate.org/about

    http://docs.jboss.org/hibernate/orm/3.6/reference/pt-BR/html/preface.html
  • O hibernante mapea das tabelas para classes em java e vice-versa.
  • Questão retirada do Wikipedia (http://pt.wikipedia.org/wiki/Hibernate):

    "Sua principal característica é a transformação das classes em Java para tabelas de dados. O Hibernate gera as chamadas SQL e libera o desenvolvedor do trabalho manual da conversão dos dados resultante."

    A pegadinha está na ordem da transformação.
  • é HQL e não SQL.

ID
639565
Banca
FCC
Órgão
TRT - 11ª Região (AM e RR)
Ano
2012
Provas
Disciplina
Programação
Assuntos

Sobre o framework JavaServer Faces é correto afirmar:

Alternativas
Comentários
  • Vamos aos erros:

     a) A grande limitação do JSF é a dificuldade de integração com outros frameworks como Spring, JPA e EJB. 
    É possível integrar o JSF com os outros frameworks.
       b) Expression Language (EL) é a linguagem utilizada para apresentação de conteúdo em aplicações que utilizam JSF. Sua principal limitação é a impossibilidade de acessar valores e métodos em beans gerenciados.
    Segundo esta fonte, em inglês, da própria oracle, uma linguagem de expressão possibilita acesso a componentes JavaBens com facilidade.
       c) Facelets é uma parte da especificação JSF e também a tecnologia para implementar as regras de negócio em aplicações que utilizam JSF.
    Não, os facelets estão na visão do modelo MVC, servindo para definir a estrutura da página a ser renderizada.
       d) Disponibiliza as bibliotecas de tags core e html para criar as páginas que compõem a interface do usuário.
    É isso mesmo! E, para fazê-lo, utilizam-se as tags: <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> (para core) <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> (para html)    e) Define uma única forma para realizar a validação de dados em formulários JSP, por meio da implementação de uma classe de validação que estende a interface Validator.
    Não é a única forma. Existe uma biblioteca de validação padrão para validar alguns aspectos mais gerais, como, por exemplo, tamanho de um campo. Essa fonte parece boa para consulta.
  • d-

    Java Server Faces (JSF) é um framework para aplicações web. Usa classes Java como componentes HTML. tem validação de entrada, gerenciamento de eventos, conversão de dados entre componentes e objetos de domínio, navegação, controle do ciclo de vida dos objetos e a expression language (EL), comunicação direta entre interface gráfica o controlador.


ID
639574
Banca
FCC
Órgão
TRT - 11ª Região (AM e RR)
Ano
2012
Provas
Disciplina
Programação
Assuntos

No Hibernate,

Alternativas
Comentários
  • Hibernate aceita consultas em HQL, Criteria queries, e SQL puro
  • Você também pode expressar consultas no dialeto SQL nativo de seu banco de dados. Isto é
    bastante útil para usar recursos específicos do banco de dados, assim como dicas de consultas
    ou a palavra chave em Oracle CONNECT. Ele também oferece um caminho de migração limpo de
    uma aplicação baseada em SQL/JDBC direta até o Hibernate.
    Ex:

    sess.createSQLQuery("SELECT * FROM CATS").list();
    sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE FROM CATS").list();

    http://docs.jboss.org/hibernate/core/3.6/reference/pt-BR/pdf/hibernate_reference.pdf
  • sobre a letra A:
    Errado Session é um objeto de linha de execução única, compartilhado, que representa uma unidade de trabalho em particular com o banco de dados (sessão). Com ele é possível criar, remover, atualizar e recuperar objetos persistentes no banco de dados.

    alguém poderia me responder a respeito da letra B?


  • Com relação ao item B:
    Session, Transaction e Query são responsáveis pela execução de operações de criação, remoção, consulta e atualização no banco de dados.


    Fonte: http://waltercunha.com/blog/wp-content/uploads/2009/06/hibernate_resumo.pdf
  • Dando uma contribuição .....


    * Objetos Transientes: são objetos que suas instâncias não estão nem estiveram associados a algum contexto persistente. Eles são instanciados, utilizados e após a sua destruição não podem ser reconstruídos automaticamente;
    * Objetos Persistentes: são objetos que suas instâncias estão associadas a um contexto persistente, ou seja, tem uma identidade de banco de dados.
    * Objetos detached: são objetos que tiveram suas instâncias associadas a um contexto persistente, mas que por algum motivo deixaram de ser associadas, por exemplo, por fechamento de sessão, finalização de sessão. São objetos em um estado intermediário, nem são transientes nem persistentes.

    Fonte: http://futurepages.org/forum/viewtopic.php?f=4&t=11

    []'s
  • a)SessionFactory é um objeto de linha de execução única, compartilhado, que representa uma unidade de trabalho em particular com o banco de dados (sessão) Até aqui eu acho que está correta, mas na segunda parte Com a Session é que é possível criar, remover, atualizar e recuperar objetos persistentes no banco de dados e não com a SessionFactory

    b)Execução, operações de criação, remoção, consulta e atualização no banco de dados: Session , Transaction e Query;

    c)O uso da interface Transaction em aplicações que usam Hibernate é opcional.

    d) (CORRETA) Existem basicamente três formas de realizar consultas ao banco de dados usando o Hibernate. A primeira é usando a sua linguagem de consulta, a HQL (Hibernate Query Language), a segunda, usando a Criteria Query API e a terceira, usando SQL nativo.

    e)Objetos Transientes: são objetos que suas instâncias não estão nem estiveram associados a algum contexto persistente. Eles são instanciados, utilizados e após a sua destruição não podem ser reconstruídos automaticamente;

     

    fonte:

    http://futurepages.org/wiki/lib/exe/fetch.php?media=quickstart:hibernate_anotacoes.pdf

    http://www.devmedia.com.br/entendendo-hibernate-session/29215


ID
644470
Banca
FCC
Órgão
TJ-PE
Ano
2012
Provas
Disciplina
Programação
Assuntos

No JSF, o componente Controller do MVC é composto por uma classe servlet, por arquivos de configuração e por um conjunto de manipuladores de ações e observadores de eventos. Essa servlet é chamada de

Alternativas
Comentários
  • o controle é composto por um servlet denominado  FacesServlet, por arquivos de configuração e por um conjunto de manipuladores de ações e observadores de eventos. O FacesServlet é responsável por receber requisições da WEB, redirecioná-las para o modelo e então remeter uma resposta. Os arquivos de configuração são responsáveis por realizar associações e mapeamentos de ções e pela definição de regras de navegação. Os manipuladores de eventos são responsáveis por receber os dados vindos da camada de visualização, acessar o modelo, e então devolver o resultado para  FacesServlet.  
    O modelo representa os objetos de negócio e executa uma lógica de negócio ao receber os dados vindos da camada de visualização. Finalmente, a visualização é composta por  component trees (hierarquia de componentes UI), tornando possível unir um componente ao outro para formar interfaces mais complexas. A Figura 1 mostra a arquitetura do JavaServer Faces baseada no modelo MVC.
    http://www.guj.com.br/content/articles/jsf/jsf.pdf
  • View:

    •Componentes UI em páginas JSP/XHTML
    • Kits renderizadores (HTML, WML, XML, etc.)

    Controller:
    • Faces Servlet (Front Controller)
    • Backing Bean (Page Controller ou Modelo)

    Model:
    • entidades e regras de negócio
    • Objetos gerais da aplicação (dados, etc.)

    Fonte: http://fabrica.ms.senac.br/2013/06/o-que-e-jsf-java-server-faces/

  • Uma FacesServlet É uma servlet que gerencia o ciclo de vida do processamento de requisições de aplicações web que estão utilizando JSF para construir a interface com o usuário. 


ID
646180
Banca
FCC
Órgão
TJ-PE
Ano
2012
Provas
Disciplina
Programação
Assuntos

Em uma aplicação que utiliza JSF, para configurar o fluxo de comunicação presente na servlet de controle, é utilizado um arquivo de configuração

Alternativas
Comentários
  • O arquivo faces-config.xml é o arquivo principal de configuração de uma aplicação JSF. Localizado no diretório WEB-INF da aplicação e no formato XML, este arquivo é responsável por descrever os elementos e sub-elementos que compõem o projeto, tais como as regras de navegação, os beans gerenciados, configurações de localização, entre outros.

    O fluxo de comunicação é uma das configurações deste arquivo XML.

ID
659962
Banca
FCC
Órgão
TRE-CE
Ano
2012
Provas
Disciplina
Programação
Assuntos

No ciclo de vida do Java Server Faces trata-se da fase na qual o componente deve primeiro ser criado ou recuperado a partir do FacesContext, seguido por seus valores, que são geralmente recuperados dos parâmetros de request e, eventualmente, dos cabeçalhos ou cookies gerados. Trata-se da fase

Alternativas
Comentários
  • Apply Request Values Phase
    • O faces vai extrair todos os valores digitados pelo usuário e guardar esse valor nos seus respectivos componentes
    • se o valor digitado não "casar" com o componente, um erro vai ser adicionado na classe FacesContext e será mostrado na fase Render Response Phase.
    • Os eventos são lançados para os listeners de todos os componentes
  • Apply request values
    O propósito da fase apply request values é com cada componente recuperado. O componente precisa primeiro ser recuperado ou criado de um objeto FacesContext, seguido pelos seus valores. Os valores dos componentes são normalmente retornados da requisição de parâmetros, embora possam ser retornados dos cookies ou dos cabeçalhos.
    Se a propiedade de eventos do componete não estiver setada como ?true?, os valores serão apenas convertidos. Então se o campo estiver limitado a uma proprieade de Inteiros, o valor será convertido para inteiro. Se o conversão de valor falhar, uma mensagem de erro sera gerada e enfileirada no FacesContext, onde será mostrada durante a fase de resposta do render, com qualquer outro erro de validação.
    Se a propiedade de eventos do compenente estiver setada como true, os valores são convertidos paro o tipo validado apropriado. A conversão então é guardad no component. Se a conversão de valores ou a validação falhar, uma mensagem de erro será gerada e enfileirada na FacesContext, onde será mostrada durante a fase de resposta do render, junto com qualquer outro erro de validação.
  • O ciclo de vida do JSF é composto por 6 fases sequenciais:
    1. Restore View;
    2. Apply request values;
    3. Process Validation;
    4. Update model values;
    5. Invoke Application; e
    6. Render response.

    A partir deste pressuposto, seguem algumas considerações com relação à questão:

    a) Restore View. Recuperar tela ou visão: Nesta fase, o componente Controller recupera o ID da tela (determinado pelo nome da página JSP). Assim, o framework JSF cria três tipos de instâncias: Nova visão, visão de inicio e visão de retorno. Cada uma dessas instâncias recebe um tratamento diferenciado. (Alternativa incorreta)

    b) Apply Request Values. Aplicação dos valores recuperados: Esta etapa é promove o estado atual de cada componente. Por meio do FacesContext, os componentes são criados ou recuperados quer pelo método request quer pelos cookies. Uma segunda curiosidade, é que nesta fase são aplicados os "Converters" criados pelo usuários. (Alternativa correta)

    c) Process Validation. Processo de validação: Como o próprio nome sugere, é nesta fase que as validações são aplicadas nos valores de cada componente. (Alternativa incorreta)

    d) Update Model Values. Atualização dos valores do modelo: Neste estágio do ciclo de vida, os valores descritos na tela (Conteiner Cliente) serão atualizados no modelo do lado do servidor (J2EE Server). Sendo assim, as propriedades do managed beans serão atualizadas somente a nível de tela. Não cabe neste momento, aproximar à idéia de atualização de informações na base de dados. (Alternativa incorreta)

    e) Invoke Application. Invocar a aplicação: Nesta etapa, o Controller manipula o envio do formulário a fim de realizar as aplicações das regras de negócio. (Alternativa incorreta)

    Resposta da questão é a letra "b".

    Observação: Apesar da questão não mencionar nada a respeito do sexto passo do ciclo de vida do JSF (Render response - Retorno da resposta), discorro um breve complemento: Este estágio corresponde ao retorno da aplicação para a visão (Já que o processo encontrava-se no Conteiner Server) com todos os componentes em seu estado atual.

    Fonte http://www.ibm.com/developerworks/library/j-jsf2/, acessado em 23/03/2012 às 12:15

  • Já é a segunda questão sobre ciclo de vida JSF que mistura a primeira com a segunda fase


ID
661753
Banca
FCC
Órgão
TRE-CE
Ano
2012
Provas
Disciplina
Programação
Assuntos

Com relação ao framework Hibernate é correto afirmar:

Alternativas
Comentários
  •  a) Permite fazer a persistência automatizada dos objetos em uma aplicação Java para as tabelas de um banco de dados relacional, utilizando metadados (descrição dos dados) que descrevem o mapeamento entre os objetos e o banco de dados. (correto) Faz parte da definição de Hibernate  b) É uma boa opção apenas para sistemas que fazem muito uso de stored procedures, triggers ou que implementam a maior parte da lógica da aplicação no banco de dados vai se beneficiar mais com o uso do Hibernate. (errado) Quanto menos componentes próprios de banco forem usados, mais fácil a utilização do modelo de dados com Hibernate  c) Permite enviar unidirecionalmente uma representação de dados de um banco de dados relacional para um modelo de objeto utilizando um esquema baseado exclusivamente em Hibernate Query Language (HQL). (errado) Pode usar HQL, Criteria queries e SQL nativo  d) A Java Persistence API (JPA) implementa o Hibernate, que é parte do Enterprise JavaBeans 4.0. (errado) Hibernate implementa a especificação JPA.  e) Em uma aplicação criada com Hibernate, para cada classe de persistência é necessário criar um arquivo de mapeamento XML que deve ser salvo obrigatoriamente com o nome da classe seguido pelo sufixo .map.xml. Alguém poderia fazer um comentário melhor sobre essa opção? 
  • Complementando, o sufixo correto é .hbm.xml
  • e) Em uma aplicação criada com Hibernate, para cada classe de persistência é necessário criar um arquivo de mapeamento XML que deve ser salvo obrigatoriamente com o nome da classe seguido pelo sufixo .map.xml.
    Atém do sufixo do arquivo, não é necessário criar esse mapeamento. Lembre-se que podemos realizar a configuração com o uso de Annotations.
  • Complementando a resposta do colega Jefferson, quando se usa annotations, os códigos xml dos mapeamentos são gerados automaticamente. Bons estudos!

  • a-

    Para limitações de mapeamento objeto relacional, surgiram frameworks como Hibernate, poupando de mapear as classes para tabelas manualmente.Oracle criou uma especificação para o mapeamento objeto relacional- JPA, api-padrão Java para a persistência do estado de objetos em bancos de dados relacionais. O JPA fornece interfaces e classes para aplicações Java, fazendo parte da especificação JEE desde a versão 5.0. A abordagem tradicional consistia em utilizar o JDBC para comunicação, através de suas interfaces implementadas pelos drivers JDBC específicos para cada banco. A abordagem do JPA implementa provedor JPA, que interage diretamente com o JDBC, estabelecendo comunicação com o banco de dados


ID
669610
Banca
CONSULPLAN
Órgão
TSE
Ano
2012
Provas
Disciplina
Programação
Assuntos

Por suas características, Hibernate 3.5 constitui uma ferramenta com a finalidade de realizar o seguinte tipo de mapeamento

Alternativas
Comentários
  • O Hibernate, assim como o TopLink, é uma implementação de JPA
  • O Hibernate é um framework para o mapeamentoobjeto-relacional escrito na linguagem Java, mas também é disponível em .Net com o nome NHibernate. Este programa facilita o mapeamento dos atributos entre uma base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso de arquivos (XML) para estabelecer esta relação.
    Hibernate é um software livre de código aberto distribuído com a licença LGPL.

ID
669613
Banca
CONSULPLAN
Órgão
TSE
Ano
2012
Provas
Disciplina
Programação
Assuntos

No mapeamento hibernate, pode-se utilizar o recurso das collections, incluindo as indexadas. São exemplos de collections indexadas

Alternativas
Comentários
  • Além dos List e Maps, estão incluidos java.util.Collection (inclui Arrays) e Sets
  • Records e Bags não são indexadas restando apenas Lists, Maps e Arrays!


ID
695590
Banca
FCC
Órgão
TRF - 2ª REGIÃO
Ano
2012
Provas
Disciplina
Programação
Assuntos

Quando se cria uma aplicação Java utilizando um recurso de Mapeamento Objeto-Relacional como o Hibernate, o mapeamento entre classes e tabelas, propriedades e colunas, associações e chaves estrangeiras, tipos do Java e tipos do SQL, é feito através de metadados. Esses metadados normalmente podem ser colocados em arquivos XML ou diretamente nas classes, próximos da informação que eles descrevem. Quando são colocados nas classes, esses metadados são conhecidos como

Alternativas
Comentários

ID
709351
Banca
FCC
Órgão
MPE-PE
Ano
2012
Provas
Disciplina
Programação
Assuntos

O Struts 2 traz várias inovações em relação ao Struts 1. Sobre o Struts 2, é correto afirmar:

Alternativas
Comentários
  • - Struts 2 trabalha com Dispatcher Filters e Interceptors na camada Controller do MVC ao invés do ActionServlet, Action e ActionForm do Struts 1.

    - O struts-config.xml é um arquivo do Struts 1.

    - As classes Action, no Struts 2, devem ser POJO.

    https://www.tutorialspoint.com/struts_2/struts_actions.htm

    http://www.devmedia.com.br/fundamentos-do-java-struts/7238


ID
753166
Banca
FCC
Órgão
MPE-AP
Ano
2012
Provas
Disciplina
Programação
Assuntos

Classes action do Struts devem ter propriedades e métodos. Sobre essas classes é correto afirmar que:

Alternativas
Comentários
  • a) Each URL is mapped to a specific action, which provides the processing logic necessary to service the request from the user.

    https://www.tutorialspoint.com/struts_2/struts_actions.htm

     

    c) In struts 2, action class is POJO (Plain Old Java Object). Objetos POJO não possuem parâmetros.

    http://www.javatpoint.com/struts-2-action

  • a) Actions do Struts 1 são singletons e deve ser thread-safe uma vez que só terá apenas uma instancia de uma classe para manipular todas as requisições para aquela Action . Objetos action do Struts2 são instanciados para cada requisição, então não tem problemas de thread-safety.

     

    http://viralpatel.net/blogs/introduction-to-struts-2-framework/

  • b) No Struts 2, um interceptador Parameters é responsável por mapear parâmetros de requisição com propriedades action. Já que todos os parâmetros de requisição são Stringse nem todas as propriedades action são do tipo Stringconversões de tipo devem ser desenvolvidas em qualquer propriedade action que não seja String. O interceptador Parameters usa para isso Object Notation Graph Language - OGNL.

     

    Fonte: FCC  - (questao Q467782)


ID
754054
Banca
FCC
Órgão
MPE-AP
Ano
2012
Provas
Disciplina
Programação
Assuntos

Para usar as tags Struts deve-se utilizar no topo da página JSP a diretiva

Alternativas
Comentários
  • Ex.:
    <%@ taglib uri ="/tags/ minhas_tags " prefix ="mt"%>

    Leia mais em: Introdução a Taglib http://www.devmedia.com.br/introducao-a-taglib/3317#ixzz2KjZFZSiP
  • Pessoal, para utilização de biblioteca de tags em páginas JSP deve-se utilizar a diretiva "taglib". Para responder a questão não precisava saber onde cargas dágua foi colocada a biblioteca das tags do Struts. Bastava saber que os atributos da diretiva "tablib" são "uri" (que indica onde se localiza a biblioteca de tags e "prefix" (que indica o prefixo que devem acompanhar as tags nos JSPs. 

    A única alternativa que apresentava tais características era a letra E (CORRETA).Bons estudos!



ID
762208
Banca
FCC
Órgão
TCE-AM
Ano
2012
Provas
Disciplina
Programação
Assuntos

Sobre o Struts é correto afirmar:

Alternativas
Comentários
  • - Todas as configurações feitas no struts.properties podem serem feitas no web. xml com init-param ou no struts.xml usando constant (https://www.tutorialspoint.com/struts_2/struts_configuration.htm)

    - O FilterDispatcher faz parte do framework, ele olha para o request e determina a apropriada ação e esta tem sim que ser definida pelo desenvolvedor. 

    - Ele possui suporte a internacionalização (https://struts.apache.org/docs/what-are-some-of-the-frameworks-best-features.html)

  • c) Muito batido pela FCC: Não existe struts-conf.xml .. é struts-config.xml. 

     


ID
762211
Banca
FCC
Órgão
TCE-AM
Ano
2012
Provas
Disciplina
Programação
Assuntos

Considere o excerto a seguir:

Em uma aplicação que utiliza Hibernate, uma I representa uma determinada configuração de repositório de dados (data-store) lógicos. A I I tem o mesmo papel em uma aplicação JPA, e configura-se uma II I com arquivos de configuração ou em código da aplicação assim como se configuraria uma IV . A configuração de uma V , junto com um conjunto de metadados de mapeamento (normalmente classes anotadas), é chamada de VI .

As lacunas I, II, III, IV, V e VI devem ser preenchidas, correta e respectivamente, por:

Alternativas
Comentários
  • A questão basicamente faz analogia entre SessionFactory e EntityManagerFactory
  • Assim fica mais fácil :
    Em uma aplicação que utiliza Hibernate, uma SessionFactory representa uma determinada configuração de repositório de dados (data-store) lógicos. A EntityManagerFactory tem o mesmo papel em uma aplicação JPA, e configura-se uma EntityManagerFactory com arquivos de configuração ou em código da aplicação assim como se configuraria uma SessionFactory . A configuração de uma EntityManagerFactory , junto com um conjunto de metadados de mapeamento (normalmente classes anotadas), é chamada de unidade de persistência .

ID
779221
Banca
CESPE / CEBRASPE
Órgão
TRE-RJ
Ano
2012
Provas
Disciplina
Programação
Assuntos

A respeito de tecnologias de desenvolvimento de sistemas, julgue
os itens a seguir.

Um componente Seam necessita de uma anotação @Name que deve ser única dentro da aplicação Seam. Dessa forma, quando o JSF solicitar ao Seam para solucionar a variável pelo nome, o Seam irá instanciar o componente requerido.

Alternativas
Comentários
  • Alguém sabe porque está certo? 
  • @Name único dentro da aplicação Seam

    Esse examinador só pode é estar me zuando

    É uma brincadeira essa m#$ˆ$#@# dessa questão.


    @Name é para identificar um componente Seam. Posso ter vários componentes anotatados com @Name, inclusive com o mesmo nome, desde que tenham grau de precedência diferentes!

    Sacanagem essa questão
  • As we said, Jboss seam needs a component name specified by the @Name annotation. This name must be unique within the Seam application. Ref.: http://www.mastertheboss.com/seam/jboss-seam-tutorial-1.

    Essa referência garante que a primeira parte da questão está correta. A segunda parte faz parte do comportamento do framework JSF e como ele se relaciona com seus componentes adjacentes. O JSF sempre constrói uma árvore de componentes em tempo de execução para o devido processamento das páginas JSF. (pag. 300 do livro: Java e Web para concursos - Rafael Pereira).
    Bons estudos!
  • Corroboro com o comentário de Raphael.

     

    Acho que o que pesou na questão foi a tradução. Notadamente essa questão foi retirada da fonte de Sergio Raulino postou. "... said, Jboss seam needs a component name specified by the @Name annotation. This name must be unique within the Seam application." O nome que precisa ser único é o do componente e não a anotação @Name que necessita ser única.

     

    Ao meu ver, este ítem deveria ser errado.


ID
779230
Banca
CESPE / CEBRASPE
Órgão
TRE-RJ
Ano
2012
Provas
Disciplina
Programação
Assuntos

A respeito de tecnologias de desenvolvimento de sistemas, julgue
os itens a seguir.

O Contexto Seam de Event é utilizado em chamadas de uma mesma página e é muito útil para call-back de páginas.

Alternativas
Comentários
  • Sinceramente não sei o que o examinador quis dizer com isso


    Mas vendo essa questao
    http://www.questoesdeconcursos.com.br/questoes/4e904f29-f5


    tenho certeza que o examinador que fez a prova nunca viu Seam na vida
  • Falsa a questão. Contexto Seam de event (ou request), o Seam disponibiliza o objeto mediante uma requisição. 
    Talvez o certo seria, contexto Seam de page que é associado ao processo de renderização de página ou carregamento. 


  • Errado


    Event - Este contexto é equivalente ao contexto request da Web. Recebe outro nome porque é utilizado em outras situações além de requisições Web como, por exemplo, invocação RMI ou invocação via Seam Remoting aos componentes Seam. Este contexto está associado ao ciclo de vida JSF. Durante o processamento do ciclo de vida os objetos associados estarão disponíveis e serão eliminados somente ao final do ciclo de vida JSF. Inclusive este contexto tem o tempo de vida de uma requisição Ajax realizada pelas bibliotecas de componentes visuais JSF com suporte a Ajax.


    http://blog.spock.com.br/2008/07/sobre-os-contextos-do-jboss-seam.html

  • 5.1.2. Event context

    The event context is the "narrowest" stateful context, and is a generalization of the notion of the web request context to cover other kinds of events. Nevertheless, the event context associated with the lifecycle of a JSF request is the most important example of an event context, and the one you will work with most often. Components associated with the event context are destroyed at the end of the request, but their state is available and well-defined for at least the lifecycle of the request.

    When you invoke a Seam component via RMI, or Seam Remoting, the event context is created and destroyed just for the invocation.


    https://docs.jboss.org/seam/snapshot/en-US/html/concepts.html#d0e3533


ID
781576
Banca
CESPE / CEBRASPE
Órgão
TJ-AL
Ano
2012
Provas
Disciplina
Programação
Assuntos

Acerca de JavaServer Faces, AJAX e JNDI, assinale a opção correta.

Alternativas
Comentários
  • Em ....... < h:inputText id="name" value= "#{customer.name}" />.......
    # faz refer~encia para o método (validateName), no bean, é "customer". Fonte (da resposta e da questão):

    http://docs.oracle.com/javaee/6/tutorial/doc/bnahu.html
  • Em relação a E:

    As expressões podem ser classificadas em rvalue e lvalue. Rvalues podem ser apenas lidas, lvalues podem ser lidas e escritas.

    All expressions that are evaluated immediately use the ${} delimiters and are always rvalue expressions. Expressions whose evaluation can be deferred use the #{} delimiters and can act as both rvalue and lvalue expressions. 

     

    Todas as expressões que podem ser avaliadas imediatamente usam o delimitador ${} e são sempre expressões rvalue.

    As expressões que podem ser avaliadas tardiamente (delimitador #{}) pelo compilador podem atuar como expressões rvalue e lvalue.

     

    Fonte: https://docs.oracle.com/cd/E19798-01/821-1841/bnahv/index.html

  • época em que até concurso cobrava JSF

     

    RiP

  • a) ERRADO. As diretivas de namespace XML nas aplicações Facelets possibilitam a identificação sem ambiguidades da URI da biblioteca de tags e da tag de prefixo.

    b) ERRADO. O uso do objeto XMLHttpRequest em AJAX faz com que seja necessário recarregar partes da página, possibilitando que atualizações de partes específicas sejam realizadas separadamente.

    c) ERRADO. No ambiente de nomeação JNDI, sempre que um componente é personalizado, não é necessário acessar ou alterar o código-fonte do componente.


ID
783745
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2011
Provas
Disciplina
Programação
Assuntos

Julgue o  item  seguinte , relativo a tecnologias associadas a Java.

O Jboss Seam é um framework compatível com AJAX, EJB3, JSF, Portlets Java e gerenciamento de processos de negócios.

Alternativas
Comentários
  • Jboss Seam é um framework para aplicações web desenvolvido pela JBoss Application Server uma divisão da Red Hat,para o desenvolvimento de aplicações Java EE de maneira fácil,por meio da integração com tecnologias como JavaServer Faces(JSF),Java Persistence API(JPA),Enterprise JavaBeans(EJB 3.0),AJAX e o Gerenciamento de processos de negócio.

  • Data maxima venia ... pra que toda essa formalidade minha gente?


ID
795211
Banca
FCC
Órgão
TST
Ano
2012
Provas
Disciplina
Programação
Assuntos

O framework JavaServer Faces (JSF) é utilizado no desenvolvimento de aplicações web que utiliza o design pattern MVC. O JSF

Alternativas
Comentários
  • Most importantly, JavaServer Faces technology provides a rich architecture for managing component state, processing component data, validating user input, and handling events.

    What Is a JavaServer Faces Application?

    For the most part, a JavaServer Faces application is like any other Java web application. A typical JavaServer Faces application includes the following pieces:

        A set of JSP pages (although you are not limited to using JSP pages as your presentation technology)

        A set of backing beans, which are JavaBeans components that define properties and functions for UI components on a page

        An application configuration resource file, which defines page navigation rules and configures beans and other custom objects, such as custom components

        A deployment descriptor (a web.xml file)

        Possibly a set of custom objects created by the application developer. These objects might include custom components, validators, converters, or listeners.

        A set of custom tags for representing custom objects on the page


        Steps in the Development Process

        Developing a simple JavaServer Faces application usually requires these tasks:

        Mapping the FacesServlet instance.

        Creating the pages using the UI component and core tags.

        Defining page navigation in the application configuration resource file.

        Developing the backing beans.

        Adding managed bean declarations to the application configuration resource file.

        JavaServer Faces technology provides a portable configuration format (as an XML document) for configuring resources. An application architect creates one or more files, called application configuration resource files, that use this format to register and configure objects and to define navigation rules. An application configuration resource file is usually called faces-config.xml.

    Directory structure of this application :




        http://www.oracle.com/technetwork/java/javaee/documentation/index-137726.html


        O framework JSF permite a inserção, via IDE, de:

        Folhas de estilo (CSS);

        Comandos em JavaScript;

        Metodologia Ajax.
  • JSF tem suporte nativo pra AJAX por meio da tag <f:ajax >
    • a) disponibiliza controles pré-construídos e código para manipular eventos, estimulando o uso de código Java convencional no componente View do MVC. 
    • ERRADO: JSF desestimula o uso de código Java nas Views (JSPs). Tranzendo toda a regra de negócio, manipulação de eventos e validação de dados para os Managed Beans.
    •  b) recebe requisições dos componentes da View do MVC, através do servlet FaveServerServlet.
    • ERRADO: recebe requisições dos componentes da View do MVC, através do servlet FacesServlet
    •  c) armazena os mapeamentos das ações e regras de navegação em projetos JSF nos arquivos WEB- INF.xml e FACES-CONFIG.xml. 
    • ERRADO: os mapeamentos das ações e regras de navegação ficam no faces-config.xml, somente.
      •  d) possui bibliotecas que suportam Ajax (Asynchronous JavaScript And XML). 
      • CORRETO
      •  e) provê um conjunto de tags limitado para criar somente páginas HTML/XHTML.
      • ERRADO: JSF possui componentes para diversos dispositivos WEB (HTML/SHTML), mobile (WML).
      • Bons estudos!

      • No JSF 1 o suporte a AJAX era apenas por meio de bibliotecas de terceiros ( A4J );

        No JSF 2 o suporte a AJAX é nativo 

      ID
      827965
      Banca
      CESPE / CEBRASPE
      Órgão
      TJ-RO
      Ano
      2012
      Provas
      Disciplina
      Programação
      Assuntos

      Acerca de JBoss Seam, JPA, facelets, JNDI e JDBC, assinale a opção correta.

      Alternativas
      Comentários
      • OK, é possível acertar por eliminatória, mas JPA é framework ou é uma API que faz parte da especificação JEE? Ou, ainda, nesse contexto, aceita-se caracterizar JPA como framework?

        Em princípio, entendo que existem frameworks que implementam a especificação JPA.

        Para contribuições...


      • Fui no mesmo passo do Maurício, inicialmente tomei a A como errada por falar em framework, porém após ler todas as alternativas, fui obrigado a ficar com a "A". Até fui confirmar se não era prova da FCC.

      • JPA é, por definição, uma API, mas por eliminação, como disseram os colegas, a resposta correta.

        JDBC, uma biblioteca vinculada a API da arquitetura JEE, define como um cliente pode acessar bancos de dados, sem necessariamente ser OO exclusivamente.

        O [errado] JBoss Seam[/errado] Hibernate é um framework ORM (object-relational mapping) utilizado em aplicações que facilitem as operações de persistência de objetos em bancos de dados relacionais por meio de uma conexão JDBC.

         [errado]Facelets[/errado], Web Services (?) componentes da arquitetura J2EE, permitem localizar objetos, distribuí-los e integrá-los por meio dos mecanismos integração e localização de serviços de nome.

         [errado]JNDI[/errado] Facelets, parte do projeto de JSF, utiliza XHTML como tecnologia de apresentação dos dados, possibilitando a separação entre as camadas de negócio e de controle. (uma espécie de template engine)

      • a-

        O JPA fornece um conjunto de interfaces e classes para aplicações Java, fazendo parte da especificação JEE desde a versão 5.0.Permite a persistência do estado de qualquer classe Java, por anotações obrigatórias. Cria tabelas no banco de dados e operações de mapeamento objeto relacional, alem de criar as tabelas no banco de dados, ele automaticamente cria também os relacionamentos entre elas e FK's de acordo com as anotações de associação e navegabilidade


      ID
      836503
      Banca
      CESPE / CEBRASPE
      Órgão
      ANAC
      Ano
      2012
      Provas
      Disciplina
      Programação
      Assuntos

      Com relação ao desenvolvimento Java, julgue os itens a seguir.

      Na fase de submissão de valores via request do JSF, caso a conversão de um valor falhe, uma mensagem de erro associado com o componente é gerada, devolvida para FacesContext e exibida para o usuário, parando-se imediatamente o processamento a partir desse ponto.

      Alternativas
      Comentários
      • Alguém poderia dizer o erro dessa questão?
        Quando um request falha na fase de conversão este request é abortado e uma mensagem é adicionado no FacesContext.
        Marquei como certo
      • Não tenho certeza, mas acredito que o erro tenha sido a frase: "parando-se imediatamente o processamento a partir desse ponto".
      • Na verdade o processamento não é parado imediatamente, de acordo com o ciclo de vida do JSF (http://javafree.uol.com.br/artigo/886703/Trabalhando-com-componentes-do-Framework-JSF-20-e-RICHFACES-4.html), ao processar as validações a String com o valor enviado é convertida para o tipo correto do objeto. Caso ocorra algum erro de validação uma mensagem de erro é adicionada no FacesContext, o componente é marcado como inválido e a implementação JSF invoca a fase Render Response, Renderizando a visão ao usuário levando a(s) mensagem(s) de erro(s). No caso de erro o fluxo normal do JSF é alterado mas não para imediatamente como diz na questão.

        Fonte: http://javafree.uol.com.br/artigo/886703/Trabalhando-com-componentes-do-Framework-JSF-20-e-RICHFACES-4.html

         

      • não é na fase de apply request values que há conversão e validação, mas sim na fase de process validations

      • Acho que é como o Raphael falou. O erro de validação ocorre na fase "process validation", seguinte à "apply request". Figura "10-1 JavaServer Faces Standard Request-Response Lifecycle" no link abaixo mostra bem isso. O processamento é parado imediatamente e devolvido a resposta da requisição.

        http://docs.oracle.com/javaee/6/tutorial/doc/bnaqq.html
      • Apply Request Values Phase

        If some components on the page have their immediate attributes set to true, then the validations, conversions, and events associated with these components will be processed during this phase. If any conversion fails, an error message associated with the component is generated and queued on FacesContext. This message will be displayed during the Render Response phase, along with any validation errors resulting from the Process Validations phase. 

        Então é o seguinte:

        Tudo certinho, exceto pelo "e exibida para o usuário, parando-se imediatamente o processamento a partir desse ponto"

        A exibição é feita pela fase de renderização da resposta.


      ID
      836506
      Banca
      CESPE / CEBRASPE
      Órgão
      ANAC
      Ano
      2012
      Provas
      Disciplina
      Programação
      Assuntos

      Com relação ao desenvolvimento Java, julgue os itens a seguir.

      Em uma associação muito-para-muitos, no Hibernate, ao se alterar um dado de um dos lados da associação, ambas as associações serão persistidas.

      Alternativas
      Comentários
      • Pelo que pude entender, numa associação bidirecional (no caso, muito-para-muitos), ambos os lados tem que ser notificados, quando de uma alteração.
      • Não é preciso persistir outras tabelas ao se modificar uma tabela em uma relação muito para muitos. Imagine o relacionamento Autor x Livro seja N:N. Ao mudarmos o nome de um livro na tabela livro não precisaremos persistir na tabela Autor, pois o id que identifica este atributo não mudou . 

      ID
      836509
      Banca
      CESPE / CEBRASPE
      Órgão
      ANAC
      Ano
      2012
      Provas
      Disciplina
      Programação
      Assuntos

      Com relação ao desenvolvimento Java, julgue os itens a seguir.

      Em uma página JSF, há a possibilidade de se criar vários tag´s h:form, mas apenas os dados do único form que contém o botão SUBMIT serão submetidos.

      Alternativas
      Comentários
      • Questão correta! Não há como enviar para o servidor os dados de um formulário sem que ele possua uma forma de submetê-los. Segue uma referência: "botão submit: Quando ativado, envia o formulário. Um formulário pode conter mais de um botão submit" (http://www.maujor.com/blog/2006/05/28/botao-enviar-do-formulario/). Porém, cada formulário deve ter pelo menos um botão de submit, caso deseje os dados nele contidos sejam enviados!

        Bons estudos.

      • Isso nem é questão de JSF.... Qualquer linguagem que utiliza HTML é dessa forma, uilizando essa regra.

      • Enunciado confuso... A palavra único está totalmente fora de contexto.

      • Questão feita pelo estagiário. Retira de um contexto qualquer. A frase sem contexto é sem lógica. As ideias não tem conexão. Mas esse é jeito que o CESPE seleciona os cadidatos (n é teste de conhecimento...rs..). Bem dá para entender o que ele quis dizer. O botão está associado a um form e envia os dados desse form. E o cagaço de marcar na hora da prova!!?!? Deveria ser anulada.

      • Mas está bem associada a questões puras de html. O form que é submetido é o único que tem seus dados também submetidos, independente se houver mais forms nesta páginas. Porém a questão esta confusa mesmo.

      ID
      836512
      Banca
      CESPE / CEBRASPE
      Órgão
      ANAC
      Ano
      2012
      Provas
      Disciplina
      Programação
      Assuntos

      Com relação ao desenvolvimento Java, julgue os itens a seguir.

      A validação de dados de um componente pode ser uma das funções de um backing bean, em uma aplicação JSF.

      Alternativas
      Comentários
      • Backing bean é um componente que corresponde a uma página JSP que inclui componentes JSF. Ele define propriedades para os componentes nas páginas e métodos que realizam processamento para o componente. Esse processamento inclui manipulação de eventos, validação de dados e processamento associado com navegação.
      • A questão aborda corretamente a uma das funções do Backing Beans (que são os Managed Beans), que é a validação dos componentes de uma página JSP. Genericamente, eles agem como “Page Controllers”, gerenciando eventos, comportamentos e validações dos componentes da página JSP.

        Sobre o comentário do Paulo O., é importante observar que um backing bean não é "um componente que corresponde a uma página JSP". O JSF é um framework que implementa a arquitetura MVC, onde os JSP correspondem a View enquanto os Managed Beans correspondem ao Controller, juntamente com o ServletFaces e arquivos de configuração (faces-config.xml).

        Bons estudos!

      • Primeiro temos que saber o que é um BackingBean

        e há um artigo do @balusc que define bem as possibilidades de nome para este componente


        http://balusc.blogspot.com.br/2011/09/communication-in-jsf-20.html


        Os componentes do JSF possuem um atributo chamado validator, e é possível fazer o binding com um método no BackingBean

      • Um backing bean é um  managed bean associado um componente UI.

      • ciclo de vida

        Restore view

        apply request

        process validation

        update model

        invoke app

        render response

        Itens{

        • Componentes
        • Eventos
        • Valiação e conversões
        • Navegabilidade
        • Backing beans (Managed Bean

        }


      ID
      868366
      Banca
      CESPE / CEBRASPE
      Órgão
      TRE-MS
      Ano
      2013
      Provas
      Disciplina
      Programação
      Assuntos

      Acerca da arquitetura e dos padrões de projeto JEE e desenvolvimento web, assinale a opção correta.

      Alternativas
      Comentários
      • a- ERRADA - JavaServer Faces (JSF) é um framework MVC de aplicações Web baseado em Java que se destina a simplificar o desenvolvimento de interfaces de usuário baseadas em web. Fonte: http://pt.wikipedia.org/wiki/JavaServer_Faces   b- ERRADA - O Hibernate é um framework para o mapeamento objeto-relacional escrito na linguagem Java, mas também é disponível em .Net como o nome NHibernate. Este framework facilita o mapeamento dos atributos entre uma base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso de arquivos (XML) ou anotações Java. Fonte: http://pt.wikipedia.org/wiki/Hibernate   c- ERRADA - AJAX (acrônimo em língua inglesa de Asynchronous Javascript and XML1 , em português "Javascript Assíncrono e XML") é o uso metodológico de tecnologias como Javascript e XML, providas por navegadores, para tornar páginas Web mais interativas com o usuário, utilizando-se de solicitações assíncronas de informações. Fonte: http://pt.wikipedia.org/wiki/AJAX_(programa%C3%A7%C3%A3o)   d- CERTA - Servlet (servidorzinho em tradução livre) é um componente como um servidor, que gera dados HTML e XML para a camada de apresentação de uma aplicação Web. É basicamente uma classe na linguagem de programação Java que dinamicamente processa requisições e respostas, proporcionando dessa maneira novos recursos aos servidores. A definição mais usada considera-os extensões de servidores. Servlet é um módulo que estende a funcionalidade de um servidor Web, através de módulos de aplicação implementados em Java. Fonte: http://pt.wikipedia.org/wiki/Servlet   e- ERRADA - JavaServer Pages (JSP) é uma tecnologia utilizada no desenvolvimento de aplicações para Web, similar às tecnologias Active Server Pages (ASP) da Microsoft ou PHP. Por ser baseada na linguagem de programação Java, tem a vantagem da portabilidade de plataforma, que permite a sua execução em diversos sistemas operacionais, como o Windows da Microsoft, Unix e Linux. Esta tecnologia permite ao desenvolvedor de páginas para Internet produzir aplicações que acessem o banco de dados, manipulem arquivos no formato texto, capturem informações a partir de formulários e captem informações sobre o visitante e sobre o servidor. Fonte: http://pt.wikipedia.org/wiki/JSP
      • Prezados,
        Vamos aos comentários de todas as alternativas.
        a) JSF consiste em uma API Java que permite acessar vários tipos de serviços e servidores de nomes, tais como LDAP e DNS, provendo uma forma nativa de comunicação entre os programas Java e esses servidores.
        Alternativa errada, o Java Server Faces (JSF) é um framework MVC de aplicações Web baseado em Java que se destina a simplificar o desenvolvimento de interfaces de usuário baseadas em web. O JSF não representa uma forma nativa de comunicação entre os programas Java e os servidores LDAP e DNS, para tais acessos seriam necessárias as respectivas API´s
        b) Hibernate é um framework para mapeamento objeto/relacional para aplicações em Java que permite realizar, por meio de arquivos DHTML, o mapeamento de classes Java em tabelas do banco de dados relacionais e vice-versa
        Alternativa errada visto que o mapeamento objeto/relacional do Hibernate não é feito por DHTML e sim por XML ou Anotações.
        c) O Ajax permite, apenas com o uso de Javascript, que uma página web seja atualizada com dados obtidos do servidor.
        Alternativa errada. O Ajax permite sim que uma página web seja atualizada com dados obtidos do servidor, porem o Ajax usa Javascript e XML , não apenas Javascript conforme informado na alternativa. O próprio acrônimo em língua inglesa ( Asynchronous Javascript and XML ) informa isso.
        d) O servlet é uma classe de programa em Java utilizada para estender a capacidade dos servidores em aplicações web que trabalham com a filosofia requisição e resposta.
        Alternativa correta. A interface Servlet do java realmente serve para estender a capacidade dos servidores web fornecendo funcionalidade baseadas em requisição resposta, tratadas pelo método service
        e) Escrito com a sintaxe Java, o JSP é um documento textual que utiliza, para processamento dos dados, servlets web container e não possui partes estáticas, somente partes dinâmicas.
        Alternativa errada. O JSP possui partes estáticas.
        Portanto, a alternativa correta para essa questão é a letra D.
        Fontes:
        - http://tomcat.apache.org/tomcat-5.5-doc/servletapi/
        - http://docs.jboss.org/hibernate/orm/4.2/quickstart/en-US/html/
      • Entendo que a letra D esteja correta, mas a C também está. Ajax utiliza apenas javascript e a rede, sendo esta subentendida pelo restante da frase. A utilização de XML não é realmente necessária, sendo amplamente conhecidas as variações que fazem uso de outros formatos, como, por exemplo, JSON.

      • Henrique, o AJAX é realizado pela composição de vários componentes, quais sejam: Javascript, CSS, DOM, XMLHttpRequest, XML e XSLT.

      • se a C fosse de C ou E marcaria eternamente C

      • A) Loucura

        B) Hibernate usa XML

        C) Asynchronous JavaScript and XML

        E) Forçado demais, provavelmente errado


      ID
      868390
      Banca
      CESPE / CEBRASPE
      Órgão
      TRE-MS
      Ano
      2013
      Provas
      Disciplina
      Programação
      Assuntos

      No que se refere a XML/XSD, JBoss Seam, JPA, facelets e JNDI, assinale a opção correta.

      Alternativas
      Comentários
      • a) item correto

        b) JBoss Seam é um framework para aplicações Java integrado ao JSF e ao Ajax e, devido à sua estrutura robusta, não é compatível com servlets e EJB. (ele é compatível com EJB e servlets)

        c) JPA é um framework MVC de aplicações web que se destina a simplificar o desenvolvimento de interfaces de usuário embasadas em web.  (JPA é para persistência, o mais aplicável aqui seria Struts)

        e) 
        A arquitetura JNDI consiste em uma application programming interface (API) e uma service provider interface (SPI), em que as aplicações Java utilizam a JNDI SPI para acessar os serviços de diretórios tais como LDAP e NDS que são, nessa arquitetura, diretamente ligados a JNDI API. (LDAP em geral não é ligado a JNDI, é um protocolo de autenticação)

        Alguem teria alguma consideração sobre a letra D?
      • d) Facelets é uma tecnologia da arquitetura JEE6 que permite manipular aspectos de apresentação de dados definindo um caminho para mapear POJOs entre JSF e um banco de dados relacional. Facelets não tem nada haver com banco de dados. Até a parte sem o itálico e o negrito está correto!
      • Caro Salvio,

        A letra D se trata da especificação JSF. JavaServer Faces (JSF) é um frameworkMVC baseado em Java para a construção de interfaces de usuário baseadas em componentes para aplicações web.

        Bons estudos.

      • @BRUNO DUARTE, apenas corrigindo sua referência: letra C.

      • a-

        JNDI (Java Naming and Directory Interface) permite busca de objetos de forma distribuída simplesmente por nome. Cliente abstrai os detalhes dà implementação do recurso buscado.

      • Sobre a letra D)


        JNDI suporta:

        LDAP DNS NIS RMI CORBA serviço de nomes Sistema de arquivos


        NDS - não sei o que é isso.



      • XML ---> definir elementos e atributos de um documento.


      ID
      868756
      Banca
      CESPE / CEBRASPE
      Órgão
      TRE-MS
      Ano
      2013
      Provas
      Disciplina
      Programação
      Assuntos

      Assinale a opção que apresenta uma anotação no formato Jboss Seam.

      Alternativas
      Comentários
      • Pessoal, só para lembrar os nomes das annotations antes de ir para a prova:

        10.1. Annotations for component definition

        @Name

        @Scope

        @Role

        @Roles

        @Intercept

        @JndiName

        @Conversational

        @Startup

        10.2. Annotations for bijection

        @In

        @Out

        @Unwrap

        @Factory

        @Logger

        @RequestParameter

        10.3. Annotations for component lifecycle methods

        @Create

        @Destroy

        @Observer

        10.4. Annotations for context demarcation

        @Begin

        @End

        @StartTask

        @BeginTask

        @EndTask

        @CreateProcess

        @ResumeProcess

        10.5. Annotations for transaction demarcation

        @Rollback

        @Transactional

        10.6. Annotations for validation

        @IfInvalid

        10.7. Annotations for Seam Remoting

        @WebRemote

        10.8. Annotations for Seam interceptors

        @Around

        @Within

        10.9. Annotations for use with JSF dataTable

        @DataModel

        @DataModelSelection

        @DataModelSelectionIndex

        10.10. Meta-annotations for databinding

        @DataBinderClass

        @DataSelectorClass

        Fonte: http://docs.jboss.com/seam/1.0.0.GA/reference/en/html/annotations.html

      • E onde está a @ApplicationScoped?

        https://docs.jboss.org/seam/latest/reference/html/annotations.html 

      • http://docs.oracle.com/javaee/6/api/javax/enterprise/context/ApplicationScoped.html


      ID
      868759
      Banca
      CESPE / CEBRASPE
      Órgão
      TRE-MS
      Ano
      2013
      Provas
      Disciplina
      Programação
      Assuntos

      O formato Jboss Seam

      Alternativas
      Comentários
        • O modelo de componente do Seam suporta dependência por injeção e bijeção. 
          A dependência por injeção envolve uma única inicialização da referência do bean dentro do componente, 
          e a bijeção suporta propagação das referências em dois sentidos, atualizações dinâmicas e múltiplos contextos.

      • A - Apresenta menos uso de XML.

        C - Tipicamente contém POJOs (Objetos Javas Planos) com anotação.

        D - não apresenta arquitetura rígida de implementação, pois é o desenvolvedor quem escolhe.

        E - integra com o JSF.


      ID
      868762
      Banca
      CESPE / CEBRASPE
      Órgão
      TRE-MS
      Ano
      2013
      Provas
      Disciplina
      Programação
      Assuntos

      Assinale a opção que apresenta o contexto no qual o estado associado ao processo de renderização do Seam é mantido.

      Alternativas
      Comentários
      • Escopos do JBoss Seam:
        stateless - Contexto para armazenar a referência para objetos stateless (ex. session stateless EJB). Tecnicamente não é um contexto já que cada busca ou chamada a método num objeto resulta numa nova referência para o bean. Este bean é gerenciado pelo pool de beans do EJB Container.

        event - Este contexto é equivalente ao contexto request da Web. Recebe outro nome porque é utilizado em outras situações além de requisições Web como, por exemplo, invocação RMI ou invocação via Seam Remoting aos componentes Seam. Este contexto está associado ao ciclo de vida JSF. Durante o processamento do ciclo de vida os objetos associados estarão disponíveis e serão eliminados somente ao final do ciclo de vida JSF. Inclusive este contexto tem o tempo de vida de uma requisição Ajax realizada pelas bibliotecas de componentes visuais JSF com suporte a Ajax.

        page - Este contexto permite armazenar objetos que são criados numa tela JSF e estão disponíveis para esta tela. Este contexto pode ser comparado com o contexto page da Web. Contudo, um objeto armazenado neste contexto estará diponível somente para a tela JSF correspondente que o instanciou a partir de algum listener de evento. Como a documentação sugere, este contexto é útil em alguns componentes visuais como, por exemplo, numa lista clicável de opções que precisa de um objeto com valores específicos para esta lista e tela JSF. Objetos neste contexto estarão disponíveis mesmo em sucessivas requisições Ajax a partir de componentes visuais a partir do browser.

        conversation - Aqui está o verdadeiro diferencial do JBoss Seam que agrega valor no desenvolvimento de aplicações Web com JSF. Este contexto permite armazenar objetos que terão um tempo de vida maior que uma requisição (event) e menor que uma sessão (session). Com este contexto se torna possível definir um escopo para objetos que são usados para implementar um fluxo de telas que realizam um "caso de uso" ou "história de usuário". Num Seam Component é possível anotar o início da conversação num método e anotar outro para demarcar o fim da conversação. O curioso deste contexto é que permite abrir várias janelas de browser para uma mesma tela JSF e cada janela representar uma conversação diferente (contexto diferente de objetos) para execução simultânea do mesmo caso de uso. Cada janela é um contexto separado que não influência um outro contexto aberto.
      • continuando...

        session
        - Este contexto é equivalente ao contexto Web de mesmo nome. Este contexto define um escopo para manter objetos como, por exemplo, o usuário logado ou outros objetos a serem compatilhados entre várias conversações (escopo de conversação), Além de objetos globais do usuário que acessa a aplicação.

        business process - Define um contexto para objetos que são associados a um processo de negócio gerenciado pelo jBPM. Objetos armazenados neste contexto pertencem a um processo e podem ser compatilhados entre vários usuários que acessam o mesmo processo de negócio. Só faz sentido usar este escopo se a máquina de processos implementada pelo jBPM estiver em uso numa aplicação Web em conjunto com o Seam.

        application - Este contexto é equivalente ao contexto Web de mesmo nome. Objetos armazenados neste contexto estarão disponíveis para todas as converssações e usuários que acessam a aplicação. Este contexto é útil ao armazenar objetos com conteúdo que não mudam com freqüência para compatilhar para toda aplicação como, por exemplo, configurações ou meta informações. Muitos objetos internos do próprio Seam são armazenados neste contexto. 
      • Letra E

        Fonte para ajudar

        http://blog.spock.com.br/2008/07/sobre-os-contextos-do-jboss-seam.html


      ID
      872668
      Banca
      CESPE / CEBRASPE
      Órgão
      TJ-AC
      Ano
      2012
      Provas
      Disciplina
      Programação
      Assuntos

      Acerca de sistemas transacionais, julgue os itens seguintes.

      A inclusão de inputText em uma página JSF permite validar o tamanho mínimo dos valores digitados por meio da utilização do seguinte código:

      <h:inputText id="cpf" label="CPF"
      value="#{UsuarioBean.cpf}">
       <f:validateLongRange
          minimum="#{ UsuarioBean.minimum}"
          maximum="#{ UsuarioBean.maximum}" />
      </h:inputText>

      Alternativas
      Comentários
      • f:validateLongRange tag is used to validate the long value in a particular range.

        JSF Tag: < f:validateLongRange minimum = "5" maximum = "200" />

         

        https://www.tutorialspoint.com/jsf/jsf_validatelongrange_tag.htm

         

        Gabarito: Certo


      ID
      872671
      Banca
      CESPE / CEBRASPE
      Órgão
      TJ-AC
      Ano
      2012
      Provas
      Disciplina
      Programação
      Assuntos

      Acerca de sistemas transacionais, julgue os itens seguintes.


      A tecnologia JSF suporta eventos de mudança de valores por meio da seleção de um link.

      Alternativas
      Comentários
      • O JSF oferece suporte a três tipos de eventos:

        ·Eventos de mudança de valor;

        ·Eventos de Ação;

        ·Eventos de fase.

        Eventos de mudança de valor são iniciados por componentes de entrada, tais como h:inputText, h:selectOneRadio e h:selectManyMenu, quando o valor do componente se modifica e o formulário que o contém é submetido.


        Eventos de ação são iniciados por componentes de comando, por exemplo h:commandButton e h:commandLink, quando o botão ou link é ativado.


        Eventos de fase normalmente são iniciados pelo ciclo de vida do JSF. Se desejar manipular eventos, você precisa ter um entendimento básico desse ciclo.


        Leia mais em: Manipulando Eventos em JavaServer Faces – Parte I http://www.devmedia.com.br/manipulando-eventos-em-javaserver-faces-parte-i/6426#ixzz2yoMB7E3y

      • Erros: 70%

        Nem quem trabalha com JSF deve saber isso


      ID
      872740
      Banca
      CESPE / CEBRASPE
      Órgão
      TJ-AC
      Ano
      2012
      Provas
      Disciplina
      Programação
      Assuntos

      Relativamente a programação e tecnologia Java, julgue os itens subsequentes.


      No Jboss Seam, existe clara distinção entre componentes da camada de apresentação e componentes de lógica de negócios.

      Alternativas
      Comentários
      • Não existe essa distinção clara entre a camada de apresentação e componentes de lógica de negócios?

      • Seam, em resumo, ele é inspirado nos seguintes princípios:

        1- Seam define um contexto uniforme para toda a lógica de negócios da sua aplicação. Os componentes Seam são POJOs (Plain Old Java Objects), ou seja, possuem um desenho simplificado em contraposição ao EJBs. Entretanto, Seam possui forte integração com EJB 3.0 e suporta os tipos de componentes: sessions beans (stateful e stateless), entity beans, message-driven beans, JavaBeans e Spring Beans; 

        2 - Não há distinção entre os componentes da camada de apresentação e da lógica de negócios. Por exemplo, o Seam se diferencia de outros frameworks como o Struts, onde temos que criar um componente responsável por cada camada do MVC. No entanto, você não precisa se sentir forçado a usar este tipo de arquitetura em camadas que o Seam oferece. Você pode perfeitamente usar o Seam em conjunto com outros frameworks, como o Spring;

        Artigo Java Magazine 72 - Boas práticas com JBoss Seam http://www.devmedia.com.br/artigo-java-magazine-72-boas-praticas-com-jboss-seam/14294#ixzz3lRzJlg3k