Nesse post você poderá conferir alguns exercícios de java web você poderá praticar seus conhecimentos sobre a construção de aplicações para web usando tecnologias como JSP, servlets, etc. Você pode ver as respostas comentadas no final desse post.
Quer aprender mais sobre desenvolvimento para web? Clique aqui e acesse nossos conteúdos gratuitos sobre Java para web.
1- Porque os Beans são usados na Arquitetura J2EE ao invés do código ser escrito diretamente nos JSP?
- a) Permite a separação de funções entre designers (front-end) e desenvolvedores de aplicativos (back-end).
- b) Permite integração com as ferramentas de gerenciamento de conteúdo.
- c) Permite que sejam desenvolvidos app multiplataformas (mobile, web).
- d) Permite que as páginas sejam processadas diretamente pelo navegador (HTML puro).
2- No JSP, como você pode saber qual método HTTP (GET ou POST) é usado pelo pedido do cliente?
- a) usando request.getMethod ()
- b) usando request.setMethod ()
- c) usando request.getParameter(“Method”)
- d) usando request.getMethod(“Post)
- e) impossível de saber
3- Como um Servlet pode chamar uma página de erro JSP?
- a) Esse recurso não é suportado.
- b) Quando o servlet lança a exceção, ele será automaticamente pego pela página JSP de chamada.
- c) O servlet precisa encaminhar a solicitação para o URL da página de erro específico. A exceção é transmitida como um atributo chamado “javax.servlet.jsp.jspException”.
- d) O servlet precisa redirecionar a resposta para a página de erro específica, salvando a exceção em um cookie.
4- Qual das classes abaixo inclui o método getSession que é usado para obter o objeto HttpSession?
- a) HttpServletRequest
- b) HttpServletResponse
- c) SessionContext
- d) SessionConfig
5 – Qual é o escopo padrão do objeto response
- a) request
- b) page
- c) session
- d) aplication
6- Por qual motivo um desenvolvedor define etiquetas (tags) personalizadas no JSP?
- a) Costumava incorporar applets Java em uma página da Web.
- b) Descarrega um plugin para o navegador da Web do cliente para executar um applet ou Bean.
- c) Precificar sua aplicação para possíveis compradores.
- d) Abstrair trechos de código criando tags personalizadas facilitando a implementações de novas aplicações.
- e) Tudo acima.
7- Quais das seguintes afirmações são corretas sobre o status da resposta HTTP. Selecione a resposta correta.
- a) Um status de 200 a 299 significa que o pedido foi bem sucedido.
- b) Um status de 300 a 399 são mensagens informativas.
- c) Um status de 400 a 499 indica um erro no servidor.
- d) Um status de 500 a 599 indica um erro no cliente
8- Qual é a sequência de execução de métodos em um filtro?
- a) init,doFilter,destroy
- b) doFilter,init,destroy
- c) destroy,doFilter,init
- d) destroy,doFilter
9 – Qual método é chamado primeiro cada vez que um Servlet é chamado?
- a) Start ()
- b) Run ()
- c) Service()
- d) init ()
10- Qual dos seguintes itens não é um objeto implícito no JSP?
- a) request
- b) response
- c) page
- d) system
Respostas
1- (A) – Os Java beans são inseridos como uma camada que separa o código java da interface. Isso permite que boa parte da lógica e regras de comportamento da aplicação fique nos beans e a interface seja gerenciada pelo arquivo JSP. Isso permite que desenvolvedores front-end, desenvolvedores back-end. Veja esse post mostrando como utilizar JSP e Beans na prática.
2- (A) – O JSP permite que você insira dentro do JSP um acesso ao objeto “request”. Ao acessar esse objeto você consegue acessar elementos do cabeçalho, por exemplo, a URI o protocolo usado e também o tipo de requisição. Usando <%= request.getMethod() %> você tem acesso ao tipo de requisição que foi feita. Veja uma explicação mais detalhada aqui
3- (D) Quando o processamento dos dados de uma página encontra um erro, uma Exception é lançada. No entanto, o encaminhamento para página de erro não é automático. É necessário tratar essa Exceção redirecionando para uma página de erro específica e possívelmente salvando dados da exceção em um cookie para auxiliar o processo de Debug.
RequestDispatcher view = request.getRequestDispatcher("pagina.jsp");
view.forward(request, response);
Veja uma discussão sobre esse assunto aqui
4- (A) Esse objeto está dentro do servlet request (dado que a sessão faz parte do request). Para acessá-lo basta utilizar o método getSession(). Veja um bom exemplo aqui
5- (A) O request representa uma solicitação do browser para o servidor, e o ciclo de vida é marcado pelo recebimento da requisição e montagem da resposta para o cliente. Veja um vídeo do professor Eduardo Guerra
6- (D) Uma etiqueta ou tag personalizada é definida quando existe a necessidade de encapsular um comportamento do código e facilitar a implementação de novas funcionalidades do sistema. Veja uma referência sobre como criar essas tags aqui
7- (A) Veja os tipos de status: Respostas de informação (100-199), Respostas de sucesso (200-299), Redirecionamentos (300-399) Erros do cliente (400-499) Erros do servidor (500-599).
8- (A) – A execução de um filtro inicia-se pelo método init, em sequência passa pelo doFilter e finaliza no método destroy. Veja uma explicação completa desse tipo de ferramenta aqui.
9- (C) O método init() é executado quando a servlet é criada dentro do servidor e é chamado uma única vez. Já o método service() é executado todas as vezes que um setvlet é chamado e recebe uma requisição. Veja uma explicação completa sobre o ciclo de vida de um servlet aqui.
10- O único objeto que não é implicito do JSP é o “System”. Existem diversos que são realmente implicitos, confira uma lista deles aqui.