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



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

Programação Na Web. Servlets: Ciclo de Vida. Agenda. Visão geral sobre ciclo de vida. Nascimento de uma Servlet. Execução de uma Servlet

JavaScript Fundamental e Servlet Fundamental

Java para WEB com Struts 2 e Hibernate

Técnicas de Programação para a Web. Luiz Cláudio Silva. Novembro de Apresentação

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

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

Ciclo de vida; Funcionamento; Requisições e Respostas.

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

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

Desenvolvimento de Sistemas Corporativos Aula 1.5 Introdução a Servlets. Prof. Bruno Moreno

DESENVOLVIMENTO DE SISTEMAS WEB UNIDADE I Criação de Aplicativos Web. Luiz Leão

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

JSP - JavaServer Pages

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

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

Desenvolvimento de um sistema de leilão utilizando JavaServer Pages

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

programação de páginas de conteúdo dinâmico

SERVLETS. Introdução UNIDADED

Java Server Pages (JSP)

Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

Surgindo em 1997 a API Java Servlet proporciona ao desenvolvedor a possibilidade de adicionar conteúdo dinâmico em um servidor web usando a

Java para Desenvolvimento Web

Desenvolvimento Web TCC Turma A-1

No momento em que você digita um endereço na internet acontecem as seguintes ações:

Desenvolvimento Web TCC Turma A-1

Trabalhando com Servlet

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

Servlets.

Programação Web 2:! Introdução a JSP! Mestrado em Engenharia Informática Universidade do Minho! 290! Deliver information, not just data

Desenvolvimento WEB I. Fernando de Freitas Silva

5/10/10. Implementação. Building web Apps. Server vs. client side. How to create dynamic contents?" Client side" Server side"

Programação para Internet II

Reader e Writer para streams de caracteres (texto).

Java para WEB. Servlets

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

UNIDADE II JAVA SERVLETS

SIST706 Sistemas Distribuídos

Aula 7: Servlets (II)

Desenvolvimento de aplicações Web. Java Server Pages

EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS

APLICAÇÕES JAVA NA INTERNET

Seminário - Qualidade de Software/Testes de Software

Java TM Servlets. Java e Engenharia de Software Orientada a Objetos. por Jorge H. C. Fernandes Julho de 1999

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

Cadeira de Tecnologias de Informação. Ano lectivo 2009/2010. Sites dinâmicos. Com Expression Web TI2009/10 EWD_1. Filipa Pires da Silva (2009)

Java na WEB Servlet. Sumário

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta

Fundamentos de Servlets. Conceitos e ciclo de vida Classes e Interfaces da API Exemplos de Servlets

Agilizando o processo de redeploy de aplicações Java

Introdução ao Javascript. Parte 1 Prof. Victor Hugo Lopes

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

INTRODUÇÃO AO. RESUMO

Desenvolvimento Web III. Prof. Felippe Scheidt

Aplicações Informáticas A

Web Presentation Patterns - Controllers

João Carlos Pinheiro. Julho / 2004

Objectos Gráficos 1. APROG (Civil) Aula 4. Friday, November 2, 12

Sumários de REDES de COMUNICAÇÃO

Sistemas Distribuídos na Web

Java Servlets. Leonardo Gresta Paulino Murta

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

Canvas. <canvas id= meucanvas width= 200 height= 100 ></canvas>

DESENVOLVIMENTO DE SISTEMAS WEB. Lista de Exercícios AV1-01. Luiz Leão

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

Unidade 6: Java Server Pages Prof. Daniel Caetano

AULA 03 JAVA ENTERPRISE EDITION - DESENVOLVENDO APLICAÇÕES CORPORATIVAS

Java II. Sérgio Luiz Ruivace Cerqueira

PROJETO WEB: Java. Prof Fernando Gomes

Licenciatura em Engenharia Informática Ramo Computadores e Sistemas. Realizado por: Aníbal Manuel e Silva Couto Supervisor: Engº Orlando Sousa

INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo

Uma Aplicação para WEB para o Apoio ao Ensino de Estruturas de Dados

Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC, Programação em Comunicações

DESENVOLVIMENTO DE SISTEMAS WEB. Lista de Exercícios AV2-01. Luiz Leão

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL

Programação WEB I Funções

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

Tecnologias de Desenvolvimento de Páginas web

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Desenvolvimento Web com JSP/Servlets

Java Server Pages. O código HTML pode indicar o método de arranque do servlet gerado por um JSP : doget ou dopost.

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO

Informação-Prova de Equivalência à disciplina de: Aplicações Informáticas B. 1. Introdução. Ensino Secundário. Ano letivo de 2011/12

JSP (JAVASERVER PAGES)

UNIDADE III JAVA SERVER PAGES

Sistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

Escrever scripts de PHP com HTML

2.1 URL Introdução ao roteamento Criação de uma rota Parâmetros esperados pelo ASP.NET MVC... 30

Desenvolvimento de Sistemas Web

PHP Estruturas de repetição

J550 Integração com Bancos de Dados

AULA 08. Sintaxe JSP. Prof. André Luis Schwerz.

Transcrição:

Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: Cliente Web browser HTTP porto 80 Servidor web JDBC RMI XML... Base de Dados Aplicação em Java... 1

Páginas dinâmicas são usadas quando queremos: - que haja interacção com o utilizador - interacção com bases de dados - interacção com outras aplicações Páginas dinâmicas podem ser construídas através: CGI.s (Common Gateway Interface) Consiste num programa, colocado no servidor, que é invocado numa página Web. - cada invocação (por um cliente) dá origem à criação de um sub processo no servidor - podem ser escritos em qualquer linguagem suportada pelo servidor, por exemplo, C, Perl, shell scripts,... 2

Linguagens de scripting -Do lado do cliente: -Geração de conteúdo dinâmico do lado do cliente. Não podem aceder a recursos do servidor.. JavaScript. VB Script.... -Do lado do servidor: -PHP Tecnologias:. ASP (Microsoft Active Server Pages),. Servlets e JSP (Java Server Pages)... 3

Servlets. Uma servlet é um componente web que é processado por um Container/Engine e que vai gerar o conteúdo dinâmico de uma página web.. Actua como uma camada intermédia entre um pedido do cliente HTTP e aplicações ou bases de dados do lado do servidor. Para cada pedido do cliente é gerado uma nova Thread.. Uma servlet é carregada para memória apenas uma vez, permanecendo entre os vários pedidos.. Assim, é eliminado o overhead de criação do objecto e permite a persistência de recursos do servidor usados pela servlet (por exemplo uma ligação a uma base de dados). Alguns contentores de Servlets: ( Servlets engines ) Tomcat (http://jakarta.apache.org/tomcat) JavaServer Web Development Kit (JSWDK) http://java.sun.com/products/servlet/ Blazix (http://www.blazix.com/) 4

Servlets Vs CGI Servlets têm melhor performance do que CGI s Se existem N pedidos simultâneos a um mesmo CGI, o seu código é carregado para memória N vezes. Com uma Servlet vão existir N threads, mas apenas uma cópia da classe da Servlet. Arquitectura Servlet Servidor Web Dados do cliente Cliente Servidor HTTP Resultados formados Servlet A interface Servlet (javax.servlet.servlet) - Define um método para manipular os pedidos dos clientes: public void service ( ServletRequest rep, ServletResponse res) throws ServletException, Ioexception; 5

A classe GenericServlet implementa a interface anterior e a classe abstracta HttpServlet é subclasse de GenericServlet. Para criarmos uma Servlet podemos construir uma subclasse de HttpServlet e redefinir (sobrepor) os métodos doget ou dopost (ou ambos). public class PrimeiraServlet extends HttpServlet{ public void doget ( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ PrintWriter out = response.getwriter(); out.println( Hello World ); } } A interface HttpServletRequest, define métodos que podem ser usados para obter informação sobre o pedido do cliente. A interface HttpServletResponse, representa a resposta para o cliente. Permite aceder a uma stream de output, PrintWriter, para envio de dados para o cliente. 6

Para que o processo cliente possa visualizar a resposta, em formato HTML, termos de: - informar o browser de qual o formato em que é enviada a resposta, - modificar a informação enviada pela PrintWriter para que represente HTML válido. public class PrimeiraServlet extends HttpServlet{ public void doget ( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ PrintWriter out = response.getwriter(); String type= <!DOCTYPE HTML PUBLIC... out.println( type + <HTML>\n + <BODY> + Hello world + </BODY> + </HTML> ); } } Pode não ser muito produtivo, gerar HTML em instruções println... Uma solução é usar Java Server Pages (JSP) 7

Java Server Pages (JSP) Tecnologia que permite misturar HTML estático, com HTML gerado dinamicamente. Tags JSP são traduzidas para o código de uma servlet que fornecerá conteúdo dinâmico. Essa tradução é efectuada a primeira vez que ocorre um acesso à página e quando a página é modificada. Por sua vez também a Servlet é compilada apenas quando ocorre o primeiro acesso à página e quando esta é modificada Sintaxe do JSP:. Elementos de scripting Permitem inserir código na servlet que vai ser gerada pela página JSP (expressions, scriplets, declarations). Directivas Mensagens para o motor de páginas JSP. Acções standard Permitem instanciar objectos e comunicar com os recursos do servidor. 8

Expressões JSP <%= Expressão Java %> Permitem inserir o valor calculado pela expressão em código Java no output de uma servlet. Por exemplo, criar o ficheiro random.jsp: <HTML> <BODY> Número aleatório: <%= Math.random()*100 %> </BODY> </HTML> -o conteúdo da expressão é convertido para uma String (ou é gerada uma excepção) Scriptlets Com scriptlets podemos incluir porções de código entre <%... %> O código da scriplet será executado cada vez que a página JSP for acedida.. Podemos ter várias linhas de código. Alternativas,. Ciclos,... 9

Exemplo: <HTML> <BODY> <% System.out.println( Calcular data do sistema ); // O output desta instrução será escrito no ficheiro de log do servidor // Esta scriptlet declara e incializa a data: Java.util.Date date = new java.util.date(); %> Hello! The time is <%= date %> </BODY> </HTML> Variáveis pré definidas para utilização em scriptlets: - request ( do tipo javax.servlet.http.httpservletrequest) ex.lo: <%=request.getremotehost() %> - response ( do tipo javax.servlet.http.httpservletresponse) -out (do tipo javax.servlet.jsp.jspwriter). Stream para enviar o output para o cliente 10

A scriptlet não gera código HTML, para isso é necessário usar a variável out. Exemplo: <HTML> <BODY> <% String cliente = request.getremotethost(); if ( cliente.equals( alunos.di.ubi.pt ) ) out.println ( Olá, aluno do DI - UBI ); else out.println ( Quem és tu? ); %> </BODY> </HTML>... Ver tutorial sobre JSP http://www.jsptut.com 11