Você está na página 1de 51

Introdução ao Desenvolvimento Web e Servlet

Prof. Andrey Masiero

6 de agosto de 2018
Agenda

1 Introdução
Origem da Internet

2 Primeiros Websites

3 Websites agora

4 Tecnologias
CGI
Linguagens de Desenvolvimento
Servlets
Demonstração NetBeans
Demonstração Eclipse
Introdução

Como surgiu a
INTERNET?

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 1 / 49


Introdução

History of the Internet


https://www.youtube.com/watch?v=9hIQjrMHTv4

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 2 / 49


Primeiros Websites

World Wide Web / WWW / Web


Nasceu entre 1989 e 1990
Conseil Européen pour la Recherche Nucléaire (CERN, Organização
Europeia para a Pesquisa Nuclear)
Trocar informações

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 3 / 49


Primeiros Websites

Conteúdo estático
Figuras com definições para impressão
Iguais aos livros. Muitos caminhos a percorrer
Sem preocupação com a informação.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 4 / 49


Primeiros Websites

Website do CERN. O primeiro da internet.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 5 / 49


Primeiros Websites

UOL (1996)

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 6 / 49


Primeiros Websites

Haven Works. Site de Notícias.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 7 / 49


Websites agora

Conteúdo dinâmico
Interação do Usuário
Programas que geram as páginas.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 8 / 49


CGI

Common Gateway Interface (CGI)

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 9 / 49


Linguagens de Desenvolvimento

PHP
ASP
Perl
Python
Ruby
entre outras.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 10 / 49


Java

1997 - Servlets
Primeira e principal tecnologia Java para Web
Parte do pacote Java EE

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 11 / 49


O que são Servlets?

Servlets são programas executados em um servidor Web ou de


Aplicação que agem como uma camada intermediária entre um
pedido vindo de um navegador da Web ou cliente HTTP e bancos de
dados ou aplicativos no servidor HTTP.
Com o uso de Servlets é possível coletar entradas de dados realizadas
por usuários, através de formulários em páginas da Web, registros de
um banco de dados ou de outra fonte. E a partir disso criar páginas
web de forma dinâmica.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 12 / 49


Servlets vs CGI

Servlet permanece na memória, diminuindo o tempo de resposta.


Na servlet o nível de segurança pode ser controlado diretamente em
Java.
CGI cada cliente é um processo.
Servlet cada cliente é uma linha de execução.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 13 / 49


Limitações das Servlets

Contudo, Servlets possuem uma grande limitação!

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 14 / 49


Limitações das Servlets

Contudo, Servlets possuem uma grande limitação!

Como devolver uma página web formatada para o navegador do


cliente?

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 15 / 49


Limitações das Servlets

Contudo, Servlets possuem uma grande limitação!

Como devolver uma página web formatada para o navegador do


cliente?

Em breve...

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 16 / 49


Demonstração
Criando projeto
- File -> New Project
- Java Web -> Web Application

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 17 / 49


Demonstração
Informe o nome do projeto

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 18 / 49


Demonstração
Selecione o servidor do projeto. (Nosso caso GlassFish Server 4.1.1)

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 19 / 49


Demonstração
Clique em Finish e aguarde...

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 20 / 49


Demonstração
Importe o projeto disponível no SIGA. O resultado deve ser igual a tela
abaixo.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 21 / 49


Demonstração
Criando uma Servlet.
- Botão direito no pacote br.metodista.ads4.dw.gerenciador.web
- Escolha New -> Java Class...

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 22 / 49


Demonstração
Dê o nome da classe de BuscaEmpresa

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 23 / 49


Demonstração
Toda classe Servlet tem heranças da classe HttpServlet.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 24 / 49


Demonstração

Todo pedido ao servidor é realizado através de um método GET.


Sobrescrever o método doGet da classe HttpSerlvet.
O método doGet possui um objeto Request e um objeto Response,
como parâmetros.
Esses objetos são para receber e enviar informações do cliente,
respectivamente.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 25 / 49


Demonstração

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 26 / 49


Demonstração
Utiliza-se um objeto PrintWriter fornecido pelo HttpSerlvetResponse para
enviar a resposta ao cliente.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 27 / 49


Demonstração

Vamos conferir o resultado no browser?

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 28 / 49


Demonstração
Mas qual o endereço de acesso à Servlet mesmo?????

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 29 / 49


Demonstração
Para definir a url de acesso, utiliza-se a anotação WebServlet com o
parâmetro urlPatterns

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 30 / 49


Demonstração
Reiniciar o servidor.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 31 / 49


Demonstração

VOILÀ

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 32 / 49


Demonstração
Agora é hora de implementar a busca e retornar para a tela!

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 33 / 49


Demonstração
O resultado para o filtro “le”, fixado no código é:

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 34 / 49


Demonstração
Porém o ideal é informar o filtro para o servidor e não deixar fixo no
código. Para isso, no endereço, acrescentamos a seguinte string
“?parametro=valor”

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 35 / 49


Demonstração
Na servlet utiliza-se o objeto HttpServletRequest, através do método
getParameter, para recuperar a informação do filtro.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 36 / 49


Demonstração
Caso o parâmtro seja nulo, o método de busca está implementado para
retornar todas empresas.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 37 / 49


Demonstração

Demonstração utilizando o Eclipse IDE

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 38 / 49


Demonstração - Criando projeto
- File -> New -> Project
- Web -> Dynamic Web Project

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 39 / 49


Demonstração - Criando projeto
- Defina o nome do projeto e clique em Next

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 40 / 49


Demonstração - Criando projeto
- Selecione a opção Generate web.xml deployment descriptor e
clique em Finish

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 41 / 49


Demonstração - Criando projeto

- A estrutura do projeto deve ser:

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 42 / 49


Demonstração - Configurando o Servidor
- Agora é necessário configurar o servidor, botão direito no projeto Run As
-> Run on Server

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 43 / 49


Demonstração - Configurando o Servidor
- Na lista de servidores procure: Apache -> Tomcat v9.0 Server.
Clique em Next

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 44 / 49


Demonstração - Configurando o Servidor
- Clique em Browser... e procure a pasta do Tomcat. Na sequência
clique em Finish

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 45 / 49


Demonstração - Configurando o Servidor

- Se aparecer esse resultado no console do Eclipse, tudo foi configurado de


maneira adequada.

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 46 / 49


Demonstração - Importando o Projeto
- Descompacte o arquivo do projeto. No eclipse vá em File -> Import
-> General -> Existing Projects into Workspace

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 47 / 49


Demonstração - Importando o Projeto
- Selecione a pasta do projeto, e clique em Finish. Ele será importado para
o eclipse e basta configurar o servidor como realizado nos passos acima. A
estrutura do projeto é:

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 48 / 49


Demonstração - Importando o Projeto

- Executando o projeto têm-se o seguinte resultado:

Prof. Andrey Masiero Aula 01 6 de agosto de 2018 49 / 49

Você também pode gostar