Buscar

Prova de Java 3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prova de Java 3 - Web
1. Interligue o banco de dados e o navegador web aos módulos Java, conforme o modelo de aplicação desenvolvido em aula.
Banco de dados Módulo EJB Módulo Web Navegador Web
2. Descreva o funcionamento de uma aplicação EJB conforme o modelo mostrado na figura.
A iniciar pelo banco de dados, que está em um container com vários serviços, na qual permite conecta-lo através de um driver específico para o tipo de banco, e assim armazenar informações. Já o módulo EJB é responsável por facilitar o encapsulamento e compartilhamento do que é chamado de “lógica do negócio”. O módulo web governa as telas que serão exibidas ao usuário, oferecendo a comunicação entre a camada de apresentação que acontece, neste caso, pelo Servlet. O navegador então finalmente é a parte onde o usuário deverá interagir diretamente, sendo uma página onde serão usados códigos HTML e toda uma interface que integre o usuário conforme a necessidade do negócio.
3. Considerando que o navegador web e o contêiner são softwares que implementem o protocolo HTTP. Qual a ordem correta das etapas executadas por estes softwares, a partir do momento que um usuário solicita uma página desenvolvida com Servlet?
1) O navegador web elabora o pacote HTTP contendo uma request para a URL digitada.
2) O navegador web faz leitura do pacote HTTP responde e exibe o conteúdo em tela.
3) O web contêiner faz a leitura do arquivo HTML solicitado em seu diretório public_html.
4) O web contêiner encaminha a requisição ao Servlet mapeando para a URL.
5) O web contêiner elabora um pacote HTTP responde contendo dados em HTML e devolve ao navegador.
6) O web contêiner recebe o pacote HTTP e realiza a leitura request, identificando o arquivo solicitado.
1 – 6 – 4 – 5 – 2 
4. Qual o papel de um pool de conexões.
Serve para fazer requisições (e consequentemente responder) diretamente ao banco de dados, podendo fazer quantas requisições por vez quiser, ou seja, aumente a agilidade do processo.
5. Explique linha a linha o código-fonte no método doGet de um Java Servlet:
1 e 2. Define o tipo de servlet da classe como um método doGet, designando os método request (requisição) e response (resposta) ao HTTP Servlet. Também define cláusula de retorno throws para tratar exceções.
3. Nesta linha define que o tipo de response deverá usar o JSON, ou seja, a forma de retornar o método ao HTTP será JSON.
4. Designa a saída que (saída) na qual deverá escrever e pegar o método response, antes definido como JSON, para armazenar o que então será imprimido ao HTTP.
5. Faz uma requisição pelo request pegando o parâmetro “id”, no qual alí foi definido como um número inteiro designado como cliente_id.
6. Define a instrução de retorno inicial como null, para que, caso não há crédito armazenado, o response esteja como null (sem nada), ao invés de declarar mensagem de erro.
7. O try {: Fará um tratamento de exceções, iniciando assim pela passagem de dados, ainda não respondendo o que fazer, apenas verificando.
8 e 9 . Passando e sendo verdadeira, o retorno, ao encontrar o id procurado, deverá criar um objeto do JSON, mostrando seu saldo designado como “saldo”, sendo que através do getCredito do cliente_id informado será então armazenado pelo Builder do objeto json, que é onde armazena estes valores.
10. O } catch: é onde será acionado apenas se o try não funcionar como deveria, acionado instruções de retorno.
11, 12, 13 e 14. Estas usam o retorno para levar ao http o que então acontecerá. Neste caso, o objeto builder do json terá armazenado a mensagem, antes definidades, buscando pelo getMessage(). Ao final pelo response manda um status de erro que na última linha diz ser o 500.
15. Na última linha com informação de código, então finalmente usa a saída, que manda a web, depois de ter feito a verificação de dados, a resposta response em forma de String, onde toda informação foi armazenada.
6. Explique linha a linha o código-fonte escrito em um EJB Session Bean:
1. O @Override obrescreve ( sobrecarregar ) métodos faz parte da orientação a objeto a anotação. A anotação serve, basicamente, para "avisar" ao compilador que aquele método está sobrescrevendo (overriding ) um método da superclasse da qual ele estende.
2. Define a classe como double, devendo retornar um número, inteiro ou não. Define o nome desta como getCredito na qual pega os parâmetros int cliente_id, ou seja, o id do cliente, como um número inteiro. Ao final da linha estende-se com o throws AppException que, como o nome já diz, serve para tratar “exceções”.
3. Diz que o valor do crédito inicial é 0. Isto para que, se o cliente não tiver saldo algum, retorne 0 ao invés de alguma mensagem de erro.
4. O try {: Fará um tratamento de exceções, iniciando assim pela passagem de dados, ainda não respondendo o que fazer, apenas verificando.
5. Pega toda classe DAO chamada ClienteDAO, na qual fará com que será definida um nova classe DAO, onde está armazenará valores, para que todas suas informações possam ser alterados e depois enviadas de volta a esta.
6. Em seguida define o que será usado como parâmetro, ou seja, através do clienteDAO, que usar-se-á a DAO findById pelo parâmetro cliente_id, setando-o apenas como cliente.
7. Nesta o crédito será então = ao valor do crédito que o cliente já possui, buscando seu valor armazenado.
8. O } catch: é onde será acionado apenas se o try não funcionar como deveria, acionado instruções de retorno.
9. e 10. O getLogger é usado como um tratamento de exceções e erros que mostra ao local de erro e a mensagem, neste caso “Mensagem de erro!”.
11. Então, ao passar pelo try e/ou catch, retornará finalmente o crédito, se haver.
7. Por que é necessário um projeto contendo bibliotecas compartilhadas quando utiliza-se Remote EJB?
A interface local (Remote) e todos os tipos de parâmetro, retorno e exceção usados pela interface local devem estar visíveis para o carregador de classes do aplicativo de chamada e do aplicativo EJB de destino. Assim, usando uma biblioteca compartilhada associada a ambos os aplicativos, é possível assegurar isto.
8. Qual o papel das anotações @Stateless, @Remote e @EJB em classes que implementam EJB 3?
@Stateless: esta anotação nos indica que a classe será um Enterprise Java Bean. As instâncias desta classe serão gerenciadas pelo Glassfish.
@Remote: é utilizada quando queremos fazer uma chamada a um EJB que está em um Container EJB diferente de onde está o cliente.
@EJB: permite injetar um EJB dentro de outro.
9. Um desenvolvedor de software inicializou um repositório git e vinculou o mesmo com um repositório remoto. Quando arquivos são adicionados ou editados é necessário envia-los para o repositório remoto. Quais linhas de comando devem ser utilizadas para realizar esta tarefa?
git add .
git commit –m “nome do commit”
git push origin master
10. Escreva as classe de domínio (model) para o seguinte modelo Entidade-Relacionamento (ER).
public class OrdemServido {
	private int ordemservico_id;
	private String descrição;
	private Date data_servico;
	private double valor;
	private Cliente cliente_id;
}
public class Cliente {
	private int cliente_id;
	private String nome;
}
*Nestes devem ser implementados os métodos getters e setters.
11. Escreva um arquivo em formato JSON para representar objetos da classe OrdemServico.java.
{
 “id_servico”: 1,
 “pedido”: “manutenção no motor”,
 “data_pedido”: “2018-07-18”
}
12. Explique linha a linha o código-fonte escrito em um arquivo web.xml.
1. Informa o nome do servlet: RegistrarCompraServlet, por isso usa <servlet-name>. <servlet>: para mostrar onde deverá ser efetuada.
2. Informa a classe servlet:web.RegistrarComprasServlet. Esta fará ligação a classe do pacote web deste nome.
3. Novamente informa o nome: RegistrarCompraServlet por no <servlet- mapping> tratará do servlet na web.
4. Na <url-pattern> como o próprio instanciamente diz, nesta linha será informado como deverá ser chamado o servlet no navegador web que é: registrar compra.
*Tal código será usado comoum doGet que fará o registro de uma compra.

Continue navegando