Introdução a Servlets e JSP. Prof. Samuel Martins samuellunamartins at gmail dot com Faculdade São Miguel

Documentos relacionados
PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

TECNOLOGIAS WEB. Unidade 2 Introdução a Construção de Páginas Estáticas. Luiz Leão luizleao@gmail.com

UNIDADE III JAVA SERVER PAGES

Java para WEB. Servlets

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim

Web Design Aula 11: XHTML

Quem sou eu? Ana Paula Alves de Lima. Formação:

Introdução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

Autoria Web HTML. Introdução a HTML e as principais tags da linguagem. Thiago Miranda dos Santos Souza

Desenvolvimento Web TCC Turma A-1

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

Programação II Programação para a Web. Christopher Burrows

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Webdesign HTML. Introdução a HTML e as principais tags da linguagem. Thiago Miranda dos Santos Souza

INTRODUÇÃO À TECNOLOGIA SERVLETS

Programação WEB II. Conhecendo o PHP. Prof: Kelly E. Medeiros Bacharel em Sistema de Informação. Módulo III

Introdução. Introdução a HTML. A Linguagem HTML. Estrutura de uma Página. Mário Antonio Meireles Teixeira

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API

Java na WEB Servlet. Sumário

Prova de pré-requisito

Incorporando JavaScript em HTML

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Estrutura Básica do Documento HTML

Executando comandos do Sistema Operacional em uma aplicação WEB Java

Aplicação para Web I. Começando a compreender o HTML

Desenvolvimento de aplicações Web. Java Server Pages

Desenvolvimento em Ambiente Web. HTML - Introdução

Java para Desenvolvimento Web

Programação WEB I. Ms. Bruno Crestani Calegaro Jun/ 2015

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Atividade JSP com Banco de Dados

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

JavaScript. Prof. Msc. Juliano Gomes Weber Notas de Aula Aula 12 1º Semestre UNIJUÍ DETEC Ciência da Computação

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

Desenvolvimento Web TCC Turma A-1

Aula 2: Listas e Links

Programação para Internet II

JSP - JavaServer Pages

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux

Formatos de publicidade

Prof.: Melba Lima Gorza Aula Introdutória de HTML. Componentes do HTML. Estrutura de um documento XHTML

HTML. Sessão 8 HTML. Criação de Páginas WEB. Formulários

Scriptlets e Formulários

HTML Básico Formulários. Matheus Meira

Programação de Servidores CST Redes de Computadores

MODULO 4 DESENVOLVIMENTO DE PÁGINAS WEB ESTÁTICAS. Redes de Comunicação

Linguagem de. Aula 06. Profa Cristiane Koehler

Criação de uma aplicação usando Servlets

Tecnologias Web. Formulários HTML

WEB DESIGNER WEB DESIGNER

JSP (Java Server Pages)

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

<!DOCTYPE html> <html lang = "pt-br"> <head> <meta charset = UTF-8"> <title> Exemplo de uso correto da semântica HTML </title> </ head >

Programação WEB II. Formulários Em PHP. Métodos GET e POST progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Tecnologia WEB II. Prof. Erwin Alexander Uhlmann. Introdução ao PHP. UHLMANN, Erwin Alexander. Introdução ao PHP. Instituto Siegen. Guarulhos, 2012.

Associação Carioca de Ensino Superior Centro Universitário Carioca

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

HTML Página 1. Índice

Links e Frames José Antônio da Cunha

Java Server Pages. Arquitectura de uma aplicação distribuída em Internet. Figura 1 Modelo 2

Aula 03 - Projeto Java Web

Relatório: Página HTML

BLOG ESCOLAS. Após acessar o seu respectivo blog, você será direcionado a tela a seguir. Vamos conhecê-la um pouco melhor.

Prática em Laboratório N.02 Criando um serviço Web via NetBeans

Aula de JavaScript 05/03/10

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Introdução à Tecnologia Web 2010 HTML HyperText Markup Language XHTML extensible HyperText Markup Language Elementos da Seção do Cabeçalho

Prática Sobre Servlets e JSP

Enviado dados para o PHP através de formulário

LINGUAGEM DE PROGRAMAÇÃO WEB

Criação de um novo projeto no Eclipse utilizando Maven

Definindo um Layout de Website sem Tabelas Vou apresentar nesse post como fazer o código do layout de um website sem utilizar

Gerador de código JSP baseado em projeto de banco de dados MySQL

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007

Vejamos um exemplo. Vamos supor que queiramos montar uma tabela 3X2, ou seja de 3 colunas por 2 linhas, o código HTML para isso é :

Ferramenta de Gestão de Web Site e Solution Backsite News Letter

Introdução ao HTML Utilizando frames Hospedando seu site na WEB

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Prof. Roberto Desenvolvimento Web Avançado

Implementando uma Classe e Criando Objetos a partir dela

Portal do Projeto Tempo de Ser

HTML Página 29. Índice

Programação na Web. Servlets Leitura dos Parâmetros e Cabeçahos

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04

Para o envio de s pelo PHP é necessário seguir a seguinte sintaxe:

AJAX JSON JQUERY. Prof. Fellipe Aleixo

Java II. Sérgio Luiz Ruivace Cerqueira

Java II. Sérgio Luiz Ruivace Cerqueira

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP.

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

CRIAÇÃO DE SITES (AULA 3)

Personal Home Page PHP. Prof. Luiz Claudio F. de Souza

DWR DIRECTED WEB REMOTING

MANUAL MOODLE - PROFESSORES

Transcrição:

Introdução a Servlets e JSP samuellunamartins at gmail dot com

Conteúdo da aula Introdução a HTML Introdução a Servlets Preparando o ambiente de programação Exemplo de Servlets 2

Websites na década de 1990 3

Páginas Estáticas Quando a Web surgiu, seu objetivo era a troca de conteúdos através, principalmente, de páginas HTML estáticas. Eram arquivos escritos no formato HTML e disponibilizados em servidores para serem acessados nos navegadores. Imagens, animações e outros conteúdos também eram disponibilizados. 4

HTML 5

HTML HTML (HyperText Markup Language) é uma linguagem de marcação utilizada na construção de páginas na Web. Documentos HTML podem ser interpretados por navegadores. 6

HTML HTML Cabeçalho Corpo 7

Estrutura Básica de um Documento <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="description" content="a descrição do seu site em no máximo 90 caracteres"> <meta name="keywords" content="escreva palavras-chaves curtas, máximo 150 caracteres"> <title>título do Documento</title> </head> <body> <!-- Isto é um comentário.aqui fica a página que será visível para todos. --> <div>tag para criar-se uma 'caixa', um bloco, mais utilizada com CSS "Cascading Style Sheets </div> <span>tag para modificação de uma parte do texto da página</span> <img src="endereço_de_uma_imagem.jpg" /> <a href="http://www.wikipedia.org">wikipedia, A Enciclopédia Livre</a> </body> </html> 8

Etiquetas Básicas do HTML <html>: define o início de um documento HTML e indica ao navegador que todo conteúdo posterior deve ser tratado como uma série de códigos HTML. <head>: define o cabeçalho de um documento HTML, que traz informações sobre o documento que está sendo aberto. <body>: define o conteúdo principal, o corpo do documento. Esta é a parte do documento HTML que é exibida no navegador. No corpo podem-se definir atributos comuns a toda a página, como cor de fundo, margens, e outras formatações. 9

Cabeçalho <title>: define o título da página, que é exibido na barra de título dos navegadores. <style type="text/css">: define formatação em CSS. <script type="text/javascript">: define programação de certas funções em página com scripts, podendo adicionar funções de JavaScript. <link>: define ligações da página com outros arquivos como feeds, CSS, scripts, etc. <meta>: define propriedades da página, como codificação de caracteres, descrição da página, autor, etc. 10

Corpo <h1>, <h2>,... <h6>: cabeçalhos e títulos no documento em diversos tamanhos. <p>: novo parágrafo. <br />: quebra de linha. <table>: cria uma tabela (linhas são criadas com <TR> e novas células com <TD>, já os cabeçalhos das colunas são criados com as etiquetas <THead><TH> e os rodapés com <TFooter><TR><TD>). <div>: determina uma divisão na página a qual pode possuir variadas formatações. <b>, <i>, <u> e <s>: negrito, itálico, sublinhado e riscado, respectivamente. <img />: imagem. <a>: hiper-ligação para um outro local, seja uma página, um e-mail ou outro serviço. <textarea>: caixa de texto (com mais de uma linha); estas caixas de texto são muito usadas em blogs, elas podem ser auto selecionáveis e conter outros códigos a serem distribuídos. 11

Hiperligações (Hyperlinks) <a href="ht tp://pt.wikipedia.org/">clique aqui para aceder à página principal da Wikipédia em português.</a> 12

Ferramentas 13

TOMCAT O Tomcat é um servidor web Java, um container de servlets. O Tomcat implementa as tecnologias Java Servlet e JavaServer Pages (JSP). 14

Download do TOMCAT Site: http://tomcat.apache.org/ Baixar a versão ZIP do Tomcat 8 http://mirror.nbtelecom.com.br/apache/tomcat/tomcat-8/v8.0.33/bin/apachetomcat-8.0.33-windows-x64.zip Descomprimir o arquivo e copiar a pasta apache-tomcat-8.x.xx para o c:\ 15

Variáveis de Ambiente É importante criar algumas variáveis de ambiente para o serviço Tomcat consiga ser iniciado com sucesso. As variáveis são: CATALINA_HOME = C:\apache-tomcat-8.0.33 JAVA_HOME = C:\Program Files\Java\jdk1.8.0_74 16

Escolhendo a IDE Para se trabalhar com Java Web de forma eficiente, o ideal é fazer uso da ide do Eclipse voltada para essa categoria. Para baixar Eclipse IDE for Java EE Developers: http://www.eclipse.org/downloads/packages/eclipse-ide-java-eedevelopers/keplersr2 Descomprima e salve o diretório eclipse no C:\ 17

SERVLETS 18

Servlets O nome "servlet" vem da ideia de um pequeno servidor (servidorzinho, em inglês) cujo objetivo é receber chamadas HTTP, processá-las e devolver uma resposta ao cliente. 19

Servlets As Servlets são a primeira forma que veremos de criar páginas dinâmicas com Java. Usaremos a própria linguagem Java para isso, criando uma classe que terá capacidade de gerar conteúdo HTML. 20

Servlets Uma primeira ideia da servlet seria que cada uma delas é responsável por uma página, sendo que ela lê dados da requisição do cliente e responde com outros dados (uma página HTML, uma imagem GIF etc). Como no Java tentamos sempre que possível trabalhar orientado a objetos, nada mais natural que uma servlet seja representada como um objeto a partir de uma classe Java. 21

Servlets Cada servlet é, portanto, um objeto Java que: recebe requisições (request); produz algo (response). 22

Servlets O comportamento das servlets que vamos ver nesta aula foi definido na classe HttpServlet do pacote javax.servlet. 23

Servlets Para escrevermos uma servlet, criamos uma classe Java que estenda HttpServlet e sobrescreva um método chamado service. Esse método será o responsável por atender requisições e gerar as respostas adequadas. Sua assinatura: protected void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //... } 24

Exemplo: primeiro servlet public class OiMundo extends HttpServlet { protected void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getwriter(); } } // escreve o texto out.println("<html>"); out.println("<body>"); out.println("primeira servlet"); out.println("</body>"); out.println("</html>"); 25

Ciclo de vida do Servlet init() service() destroy() 26

Método init() O Container chama esse método depois que a instância do servlet for criada. Um exemplo de uso é usar o init para carregar driver de banco de dados, ou efetuar alguma inicialização de valores. Assinatura do método: public void init(servletconfig config) throws ServletException 27

O método service() Esse método é invocado quando chega a primeira solicitação do cliente. É chamado depois que o método init permitir ao servlet responder a uma solicitação. Assinatura: public void service(servletrequest request, ServletResponse response) throws ServletException, IOException 28

O método destroy() Esse método tem como objetivo remover o servlet. É invocado quando todas as sequências dentro do método service() forem finalizadas. Assinatura: public void destroy() 29

Ciclo de vida 30

Criando um objeto no Eclipse 31

Criando um projeto Java Web no Eclipse Configure a perspectiva do Eclipse para Java EE: Clique em Window> Perspective> Open Perspective> Java EE 32

Criando um projeto Java Web no Eclipse Clique em File> New> Dynamic Web Project. Atribua um nome ao projeto. No campo Target Runtime, aponte para o Tomcat está instalado. Aperte em Finish. 33

Criando um projeto Java Web no Eclipse Na estrutura de diretório do projeto, selecione a pasta src de acordo com a imagem. Clique com botão direito sobre ela e escolha a opção New>Servlet. 34

Criando um projeto Java Web no Eclipse Coloque um nome para o Servlet e clique em finish. 35

Java Server Pages 36

Java Server Pages Até agora, vimos que podemos escrever conteúdo dinâmico através de Servlets. No entanto, se toda hora criarmos Servlets para fazermos esse trabalho, teremos muitos problemas: na manutenção das nossas páginas; na legibilidade do nosso código, pois sempre aparece código Java misturado com código HTML. 37

Java Server Pages Para não termos que criar todos os nossos conteúdos dinâmicos dentro de classes, misturando fortemente HTML com código Java, precisamos usar uma tecnologia que podemos usar o HTML de forma direta, e que também vá possibilitar a utilização do Java. Algo similar ao ASP e PHP. 38

JSP Páginas JSP devem expor mensagens vindas de outros componentes, tais como Beans e Servlets. Uma página JSP possui códigos em HTML + scriplets 39

Scriptlets São códigos delimitados pela tags: <% %> 40

Exemplo <% // comentário de uma linha /* comentario de varias linhas linhas mais linhas */ %> 41

JSP O JSP possui variáveis implícitas: todo arquivo JSP já possui uma variável chamada out (do tipo JspWriter) que permite imprimir para o response através do método println: 42

Exemplo1.jsp <html> <head> </head> <body> <%! String nome = Maria ; %> <% out.println( O nome é + nome); %> </body> </html> 43

Exemplo2.jsp <% int a = 45; final int b = 34; // isto é uma constante int soma; soma = a + b; out.println( A soma de + a + e + b + é + soma); %> 44

Exemplo3.jsp <% %> float x = 5.1f; float y = (float) 2.0; int i = 1; int j = (int)(i * x); out.println( Misturando int e float: j = + j); out.println( <br> ); double dy = 2.0; double dz = dy * y; out.println( Manipulando float e double: + dz); 45

Exemplo4.jsp <% class Pessoa { String nome; int idade; public String getdados() { return( Nome é + nome+, Idade é + idade); } public void setdados(string anome, int aidade) { nome = anome; idade = aidade; } } %> 46

Exemplo4.jsp <% %> Pessoa p = new Pessoa(); p.setdados( Kleitor, 50); out.println(p.getdados()); 47

Importando uma biblioteca/arquivo/classe Para fazermos o import das classes, precisamos declarar que aquela página precisa de acesso à outras classes Java. Para isso, utilizamos diretivas, que possuem a seguinte sintaxe: <%@... %>. 48

Exemplo <%@ page import="java.util.*, br.com.caelum.agenda.dao.*, br.com.caelum.agenda.modelo.*" %> 49

Exemplo5.jsp <html> <body> <h1>este é o arquivo principal</h1> <br> <%@ include file = Teste.html %> </body> </html> 50

Exemplo5.jsp <html> <head><title>este é um arquivo incluido em outro</title></head> <body> <h1>eu sou um SSI</h1> </body> </html> 51

Exemplo6.jsp <% int x = 50; out.println( Antes do incremento, x = + x + <br> ); x++ out.println( Após o incremento, x = + x); %> 52

Exemplo7.jsp <html> <body> <form method= POST action= exemplo7.jsp > <table> <tr><td> Nome <input type= text name= nome size= 10 > Idade<input type= text name= idade size= 3 > </td></tr> </table> </form> </body> </html> 53

Exemplo7.jsp <html> <body> <center> <% String snome = request.getparameter( nome ); String sidade = request.getparameter( idade ); out.println( Seu nome é + snome + e sua idade é + sidade); %> </center> </body> </html> 54

Exercício 1. Em uma página JSP o que diferencia o conteúdo HTML do conteúdo Java? 2. É obrigatória a declaração dos métodos init e destroy em um servlet? 3. Crie uma página JSP na qual seja criada uma matriz 3x3 de inteiros que após ser preenchida seu conteúdo seja impresso em itálico. 55