Aula 04 - Injeção de código (Cross-Site Scripting)
Programação para Web II: Estrutura de um projeto Java Web
1. Estrutura de um projeto Java WebEstrutura de um projeto Java Web
Prof. Alex Dias Camargo
alexcamargo@ifsul.edu.br
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
SUL-RIO-GRANDENSE
CÂMPUS BAGÉ
PROGRAMAÇÃO PARA WEB II
2. 2
I. Plano de aula
Na aula anterior foi visto:
HTML5: Estrutura básica e elementos de seção
Framework Bootstrap
PWII - Estrutura de um projeto Java Web
3. 3
I. Plano de aula
Nesta aula será apresentado:
Principais tecnologias Java Web
Estrutura básica de um projeto
PWII - Estrutura de um projeto Java Web
4. 4
1. Servlets
Um Servlet estende uma funcionalidade de servidor web para gerar
páginas dinâmicas, utilizando o protocolo HTTP. O nome "servlet"
vem da ideia de um pequeno servidor (servidorzinho, em inglês).
São chamados de "Container", pois implementam a
especificação de Servlet e JSP.
PWII - Estrutura de um projeto Java Web
6. 6
1. Servlets
Um Servlet estende uma funcionalidade de servidor web para gerar
páginas dinâmicas, utilizando o protocolo HTTP. O nome "servlet"
vem da ideia de um pequeno servidor (servidorzinho, em inglês).
São chamados de "Container", pois implementam a
especificação de Servlet e JSP.
Camada intermediária entre o cliente (navegador web) e as
aplicações e/ou bancos de dados do servidor.
PWII - Estrutura de um projeto Java Web
8. 8
1. Servlets
Um Servlet estende uma funcionalidade de servidor web para gerar
páginas dinâmicas, utilizando o protocolo HTTP. O nome "servlet"
vem da ideia de um pequeno servidor (servidorzinho, em inglês).
São chamados de "Container", pois implementam a
especificação de Servlet e JSP.
Camada intermediária entre o cliente (navegador web) e as
aplicações e/ou bancos de dados do servidor.
Ciclo de vida em 5 etapas:
carrega a classe Servlet;
cria uma instância de Servlet;
executa o método init();
executa o método service();
e executa o método destroy();
PWII - Estrutura de um projeto Java Web
9. 9
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: ciclo de vida
10. 10
1. Servlets
Exemplo de implementação:
O comportamento dos servlets são definidos na classe
HttpServlet do pacote javax.servlet
PWII - Estrutura de um projeto Java Web
11. 11
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: implementação
12. 12
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: implementação
13. 13
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: implementação
14. 14
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: implementação
15. 15
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: implementação
16. 16
3. Tomcat
O Tomcat é um servidor web Java utilizado, mais especificamente,
como um container de servlets. O Tomcat implementa as
tecnologias Java Servlet, JavaServer Pages (JSP) dentre outras.
Desenvolvido pela Apache Software Foundation e distribuído
como software livre (projeto independente).
Atualmente, outra implementação de referência é o GlassFish
(Sun Microsystems).
Última versão liberada: Tomcat 8.5.39 (Março/2019).
PWII - Estrutura de um projeto Java Web
17. 17
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: instalação no Linux
18. 18
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: arquivos de configuração
19. 19
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: diretório do projeto
20. 20
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: diretório das aplicações
21. 21
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: inicialização do servidor
22. 22
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: status do servidor
23. 23
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: IP do servidor
24. 24
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: teste de acesso via navegador
25. 25
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: erro de acesso via navegador
26. 26
4. Eclipse
O Eclipse é uma IDE que compreende diferentes tipos de
linguagem e que aceita a instalação de plugins para emular o
desenvolvimento.
Projeto iniciado na IBM e doado como software livre.
Faz parte do kit de desenvolvimento de software recomendado
para desenvolvedores Android.
IDE Java mais utilizada atualmente.
PWII - Estrutura de um projeto Java Web
27. 27
4. Eclipse
PWII - Estrutura de um projeto Java Web
Figura. Eclipse: novo projeto web
28. 28
5. Exercícios
1. Escreva um servlet que imprima no navegador do cliente: IFSul -
Câmpus Bagé. O projeto deve ser criado no Eclipse (Linux).
2. Verifique o diretório webapps do Tomcat criado pelo seu projeto
e destaque as características apresentadas em aula bem como as
mais interessantes ao seu entender.
PWII - Estrutura de um projeto Java Web
29. 29
5. Exercícios
3. Configurando o Tomcat sem o plugin.
Caso fosse necessário criar uma aplicação web sem utilizar o plugin
do Tomcat, é preciso colocar a aplicação dentro dele manualmente.
No diretórios padrão do Tomcat há um em específico chamado
"webapps". Nele é possível incluir as aplicações desenvolvidas,
cada uma dentro de um diretório específico. O nome do diretório
será o nome do contexto da aplicação (caminho na URL).
Por exemplo, para executar uma aplicação no Tomcat
manualmente, basta copiar o conteúdo do diretório "WebContent"
para um diretório chamado, por exemplo, "HelloWorld" dentro de
"webapps".
Nesse contexto, crie uma página que exiba uma tabuada estilizada
com o Framework Bootstrap.
PWII - Estrutura de um projeto Java Web
30. 30
5. Exercícios
4. Na servlet de uma aplicação Java para web deseja-se retornar
uma string contendo o nome do navegador do cliente e uma string
contendo o valor de um parâmetro "nome" passado pelo cliente na
requisição. Para realizar estas tarefas será necessário chamar,
respectivamente, os métodos:
( )getUserAgent e getParameterValue, por meio do objeto
response.
( ) getHeader e getAttribute, por meio do objeto response.
( ) getNavigator e getAttribute, por meio do objeto request.
( ) getUserAgent e getParameter, por meio do objeto request.
( ) getHeader e getParameter, por meio do objeto request.
PWII - Estrutura de um projeto Java Web
31. 31
5. Exercícios
5. Aplicações web desenvolvidas com as tecnologias Java Servlet e
JSP podem ser executadas no container IIS.
( ) Certo
( ) Errado
6. Três métodos são essenciais em um ciclo de vida de um Java
Servlet. Quais são eles?
( ) Init(), Do() e End()
( ) Go(), Do() e Finish()
( ) Start(), Do() e Destroy()
( ) Start(), Service() e Finish()
( ) Init(), Service() e Destroy()
PWII - Estrutura de um projeto Java Web
32. 32
5. Exercícios
7. Em aplicações WEB desenvolvidas em Java, é comum o uso do
protocolo de interação denominado requisição/resposta, no qual
diversos componentes interagem para produzir a resposta
correspondente a uma requisição.
Quando uma requisição direcionada a uma servlet X chega no
servidor WEB, o componente responsável por instanciar objetos
das classes javax.servlet.http.HttpServletRequest e
javax.servlet.http.HttpServletResponse é:
( ) a servlet X
( ) o servidor WEB
( ) o contêiner WEB
( ) o objeto da classe ServletConfig
PWII - Estrutura de um projeto Java Web
33. 33
5. Exercícios
8. Recipiente web, ou web container, também conhecido como
Servlet container, é o componente de um servidor web que
interage com servlets Java. Qual das seguintes ferramentas NÃO é
um exemplo de web container?
( ) Apache Tomcat.
( ) Jetty.
( ) JRunner.
( ) Glassfish.
( ) JBoss.
PWII - Estrutura de um projeto Java Web
34. 34
5. Exercícios
9. Na plataforma J2EE, sempre que o servidor recebe uma nova
requisição do cliente, o servlet associado atende ao pedido
invocando o método:
( ) init.
( ) start.
( ) create.
( ) request.
( ) service.
PWII - Estrutura de um projeto Java Web
35. 35
5. Exercícios
10. No Java EE, um Servlet é um objeto cuja função primária é:
( ) armazenar informações sobre a sessão dos clientes.
( ) conectar a aplicação a uma base de dados.
( ) gerenciar a memória do servidor.
( ) oferecer persistência de dados ao servidor de aplicação.
( ) receber requisições do cliente e produzir respostas com base
nelas.
PWII - Estrutura de um projeto Java Web
36. 36
Referências
GEARY, D. M. Core JavaServer Faces. 3ª Edição São Paulo: Alta
Books, 2012.
LUCKOW, D. H.; MELO, A. A. Programação Java para Web:
aprenda a desenvolver uma aplicação financeira pessoal
com as ferramentas mais modernas da plataforma Java. 2ª
Edição. São Paulo: Novatec, 2015.
SIERRA, K. Use a cabeça! JSP & Servlets. 2ª Edição, São Paulo:
Alta Books, 2008.
PWII - Estrutura de um projeto Java Web