SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
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
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
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
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
5
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: execução
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
7
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: execução
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
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: ciclo de vida
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
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: implementação
12
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: implementação
13
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: implementação
14
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: implementação
15
1. Servlets
PWII - Estrutura de um projeto Java Web
Figura. Servlet: implementação
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
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: instalação no Linux
18
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: arquivos de configuração
19
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: diretório do projeto
20
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: diretório das aplicações
21
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: inicialização do servidor
22
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: status do servidor
23
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: IP do servidor
24
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: teste de acesso via navegador
25
3. Tomcat
PWII - Estrutura de um projeto Java Web
Figura. Tomcat: erro de acesso via navegador
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
4. Eclipse
PWII - Estrutura de um projeto Java Web
Figura. Eclipse: novo projeto web
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
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
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
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
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
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
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
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
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

Mais conteúdo relacionado

Mais procurados

[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19Loiane Groner
 
[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36Loiane Groner
 
Adição simples ii (2)
Adição simples ii (2)Adição simples ii (2)
Adição simples ii (2)Jorge Oliveira
 
[Curso Java Basico] Exercicios Aulas 28 a 33
[Curso Java Basico] Exercicios Aulas 28 a 33[Curso Java Basico] Exercicios Aulas 28 a 33
[Curso Java Basico] Exercicios Aulas 28 a 33Loiane Groner
 
[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24Loiane Groner
 
Prova.pb.matematica.4ano.tarde.4bimestreB
Prova.pb.matematica.4ano.tarde.4bimestreBProva.pb.matematica.4ano.tarde.4bimestreB
Prova.pb.matematica.4ano.tarde.4bimestreBCláudia Cacal
 
4º ano aval. diag. port.
4º ano   aval. diag. port.4º ano   aval. diag. port.
4º ano aval. diag. port.Cida Carvalho
 
Samba Do Approach
Samba Do ApproachSamba Do Approach
Samba Do Approachguest569bc5
 
[Curso Java Basico - Exceptions] Aula 47: try, catch
[Curso Java Basico - Exceptions] Aula 47: try, catch[Curso Java Basico - Exceptions] Aula 47: try, catch
[Curso Java Basico - Exceptions] Aula 47: try, catchLoiane Groner
 
Projeto soletrando culminância
Projeto soletrando culminânciaProjeto soletrando culminância
Projeto soletrando culminânciaValmir Alexandre
 
Aula 05 - Exercício de projeto - Projeto de Redes de Computadores
Aula 05 - Exercício de projeto - Projeto de Redes de ComputadoresAula 05 - Exercício de projeto - Projeto de Redes de Computadores
Aula 05 - Exercício de projeto - Projeto de Redes de ComputadoresDalton Martins
 
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaExercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaLoiane Groner
 
Curso Java Básico Aula 01: Introdução e Dicas para quem está Começando
Curso Java Básico Aula 01: Introdução e Dicas para quem está ComeçandoCurso Java Básico Aula 01: Introdução e Dicas para quem está Começando
Curso Java Básico Aula 01: Introdução e Dicas para quem está ComeçandoLoiane Groner
 

Mais procurados (20)

[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19
 
Linguagem Java
Linguagem JavaLinguagem Java
Linguagem Java
 
[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36
 
Introdução ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
 
Adição simples ii (2)
Adição simples ii (2)Adição simples ii (2)
Adição simples ii (2)
 
Revisão de conteúdo 5° ano
Revisão de conteúdo  5° anoRevisão de conteúdo  5° ano
Revisão de conteúdo 5° ano
 
[Curso Java Basico] Exercicios Aulas 28 a 33
[Curso Java Basico] Exercicios Aulas 28 a 33[Curso Java Basico] Exercicios Aulas 28 a 33
[Curso Java Basico] Exercicios Aulas 28 a 33
 
[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24
 
Prova.pb.matematica.4ano.tarde.4bimestreB
Prova.pb.matematica.4ano.tarde.4bimestreBProva.pb.matematica.4ano.tarde.4bimestreB
Prova.pb.matematica.4ano.tarde.4bimestreB
 
4º ano aval. diag. port.
4º ano   aval. diag. port.4º ano   aval. diag. port.
4º ano aval. diag. port.
 
Samba Do Approach
Samba Do ApproachSamba Do Approach
Samba Do Approach
 
Plano de aula sobre HTML básico
Plano de aula sobre HTML básicoPlano de aula sobre HTML básico
Plano de aula sobre HTML básico
 
Atividade 3º ano
Atividade 3º anoAtividade 3º ano
Atividade 3º ano
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Poema da Mamãe
Poema da MamãePoema da Mamãe
Poema da Mamãe
 
[Curso Java Basico - Exceptions] Aula 47: try, catch
[Curso Java Basico - Exceptions] Aula 47: try, catch[Curso Java Basico - Exceptions] Aula 47: try, catch
[Curso Java Basico - Exceptions] Aula 47: try, catch
 
Projeto soletrando culminância
Projeto soletrando culminânciaProjeto soletrando culminância
Projeto soletrando culminância
 
Aula 05 - Exercício de projeto - Projeto de Redes de Computadores
Aula 05 - Exercício de projeto - Projeto de Redes de ComputadoresAula 05 - Exercício de projeto - Projeto de Redes de Computadores
Aula 05 - Exercício de projeto - Projeto de Redes de Computadores
 
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaExercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
 
Curso Java Básico Aula 01: Introdução e Dicas para quem está Começando
Curso Java Básico Aula 01: Introdução e Dicas para quem está ComeçandoCurso Java Básico Aula 01: Introdução e Dicas para quem está Começando
Curso Java Básico Aula 01: Introdução e Dicas para quem está Começando
 

Semelhante a Programação para Web II: Estrutura de um projeto Java Web

Programação para Web II: JavaServer Pages
Programação para Web II:  JavaServer PagesProgramação para Web II:  JavaServer Pages
Programação para Web II: JavaServer PagesAlex Camargo
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationMario Sergio
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Helder da Rocha
 
Tutorial WebSocket em Java
Tutorial WebSocket em JavaTutorial WebSocket em Java
Tutorial WebSocket em Javalucascsoliveira
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosDiego Santos
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPManoel Afonso
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
Programação para Web II: NodeJS
Programação para Web II:  NodeJSProgramação para Web II:  NodeJS
Programação para Web II: NodeJSAlex Camargo
 
Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Eduardo Mendes
 
Cactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta CactusCactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta CactusDenis L Presciliano
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Rafael Benevides
 
Programação para Web II: JavaServer Faces
Programação para Web II: JavaServer FacesProgramação para Web II: JavaServer Faces
Programação para Web II: JavaServer FacesAlex Camargo
 
Introdução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com JavaIntrodução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com JavaFellipeFonseca
 

Semelhante a Programação para Web II: Estrutura de um projeto Java Web (20)

Programação para Web II: JavaServer Pages
Programação para Web II:  JavaServer PagesProgramação para Web II:  JavaServer Pages
Programação para Web II: JavaServer Pages
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)
 
servlet-introducao
servlet-introducaoservlet-introducao
servlet-introducao
 
Tutorial WebSocket em Java
Tutorial WebSocket em JavaTutorial WebSocket em Java
Tutorial WebSocket em Java
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizados
 
Servlets e jsp
Servlets e jspServlets e jsp
Servlets e jsp
 
1409243945064
14092439450641409243945064
1409243945064
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSP
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Programação para Web II: NodeJS
Programação para Web II:  NodeJSProgramação para Web II:  NodeJS
Programação para Web II: NodeJS
 
Servidores web
Servidores webServidores web
Servidores web
 
Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1
 
Cactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta CactusCactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta Cactus
 
Jsf
JsfJsf
Jsf
 
Apostila MVC
Apostila MVCApostila MVC
Apostila MVC
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007
 
Programação para Web II: JavaServer Faces
Programação para Web II: JavaServer FacesProgramação para Web II: JavaServer Faces
Programação para Web II: JavaServer Faces
 
Introdução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com JavaIntrodução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com Java
 

Mais de Alex Camargo

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaAlex Camargo
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - DemonologiaAlex Camargo
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosAlex Camargo
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?Alex Camargo
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasAlex Camargo
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaAlex Camargo
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!Alex Camargo
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Alex Camargo
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoAlex Camargo
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlex Camargo
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeAlex Camargo
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoAlex Camargo
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)Alex Camargo
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Alex Camargo
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoAlex Camargo
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020Alex Camargo
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alexAlex Camargo
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial IntelligenceAlex Camargo
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finaisAlex Camargo
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Alex Camargo
 

Mais de Alex Camargo (20)

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - Eclesiologia
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - Demonologia
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeiros
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínas
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurança
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom Samaritano
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem pratica
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alex
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finais
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
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
  • 5. 5 1. Servlets PWII - Estrutura de um projeto Java Web Figura. Servlet: execução
  • 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
  • 7. 7 1. Servlets PWII - Estrutura de um projeto Java Web Figura. Servlet: execução
  • 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