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

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

Curso de Java. Geração de Páginas WEB através de JSP. Todos os direitos reservados Klais

Java II. Sérgio Luiz Ruivace Cerqueira

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

JSP - JavaServer Pages

UNIDADE III JAVA SERVER PAGES

World Wide Web e Aplicações

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

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

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

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

Desenvolvimento Web TCC Turma A-1

Aplicações de Linguagem de Programação Orientada a Objeto

JSP (Java Server Pages)

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem

Desenvolvimento Web TCC Turma A-1

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

ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli

Servlets, JSPs e Java Beans

PHP. Hypertext Pre-Processor

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

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com

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

Desenvolvimento de aplicações Web. Java Server Pages

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Interface Homem Máquina para Domótica baseado em tecnologias Web

Tecnologias Web. Java Enterprise Edition

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

IIH Introdução à Informática e Hardware

Sistemas para internet e software livre

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

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

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

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

JSP: JAVA SERVER PAGES

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

JavaServer Pages. Também são conhecidas pela sigla correspondente (JSP). Representam mais uma tecnologia da plataforma JEE.

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL

Web Technologies. Tópicos da apresentação

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

Software Adobe DreamWeaver. Requisitos para criar aplicações Web

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto

WWW - World Wide Web

Programação WEB Introdução

JSP: JAVA SERVER PAGES

Slides_Java_1 !"$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code.

Aula 2. Programa. Arquitectura da camada de interface.! Programação Web - 1! Engenharia de Aplicações Sistemas Interactivos 2010/11!

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

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Servlets & JSP. Prof. Ramon Chiara

Conteúdo Dinâmico. Introdução. Interação Browser x Servidor Web. Interação Browser x Servidor Web

Programação para Internet II

Java RMI. Alcides Calsavara

O sucesso da WWW. Atualização de Hiperdocumentos. Atualização de Hiperdocumentos. Cuidados. Exemplo. Passos. Motivos :

Aula 03 - Projeto Java Web

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

Linux - Servidor de Redes

Programação para Web Artefato 01. AT5 Conceitos da Internet

A autoria - II. A autoria - II. Tecnologias básicas da Web. A autoria - II Wilson de Pádua Paula Filho. Tópicos:

Introdução à Engenharia da Computação. Tecnologia Web Professor Machado

Desenvolvimento de Aplicações Web. Prof. José Eduardo A. de O. Teixeira / j.edu@vqv.com.br

CURSO EFA DE TÉCNICO DE INFORMÁTICA E SISTEMAS. Módulo 788- Administração de Servidores Web. Ano letivo Docente: Ana Batista

O que é o JavaScript?

Treinamento em PHP. Aula 1. Ari Stopassola Junior

Orientada a serviços: JAX-WS SOAP API

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

Programação para Internet I. 2. O protocolo HTTP. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Aula 4. Objetivos. Conteúdo dinâmico na internet.

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

Programação para Internet II

Tutorial Jogo da Velha WEB


Escola Superior de Tecnologia de Setúbal. Projecto Final

Ajax não é dependente dos servidores Web, e como tal poderá ser usado com PHP, JSP, ASP e ASP.NET.

APLICAÇÕES E SERVIÇOS WEB

Tecnologias para Web Design

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Java para WEB. Servlets

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger

Universidade da Beira Interior

Adriano Reine Bueno Rafael Barros Silva

Gestão de projectos na Web

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

Servlets e Applets, funcionamento e comparativo.

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

Linguagem de Programação Para Internet II

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Construindo uma aplicação Web completa utilizando ASP.Net 2.0, Visual Studio 2005 e IIS 7.0 ( Parte 1)

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Instalando servidor Apache

J550. Model View Controller

Desenvolvimento Web com JSP/Servlets


JSP e Servlet Princípio de MVC

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

2 Categorias Categories Todas as categorias de actividade são apresentadas neste espaço All activity categories are presented in this space

Transcrição:

5/10/10 Implementação Mestrado em Informática Universidade do Minho! 6! Building web Apps How to create dynamic contents?" Client side" Code runs on the client (browser)" Code runs on a virtual machine (in the browser)" JavaScript (client side), DHTML (Dynamic HTML), AJAX, VBScript" Java applets, Adobe Flex, Microsoft Silverlight, JavaFX" Server side" Code runs on the server" CGI vs. direct execution" Perl, ASP, PHP, Servlets, JavaScript (server side), JSP, JSF" Mestrado em Informática Universidade do Minho! 8! Server vs. client side Server side" access to information and functions available on the server. " require interpreter on the server, " largely independent from browser, or other client details. " Client side" access to information and functions available on the browser" require interpreter on the browser " no additional software on the server (popular with authors who lack administrative access to their servers);" problems with lack of standardization of browsers " Mestrado em Informática Universidade do Minho! 9! 1

Common Gateway Interface (CGI) Early form of server side scripting" Protocol for interfacing external applications with a web server" When request received, corresponding program called" The protocol defines " - how information about the server and the request is passed to the command (arguments and environment variables) " - how the command can pass back extra information about the output (headers)" Mestrado em Informática Universidade do Minho! 12! CGI programming all output from CGI program must be preceded by a MIME-type header" output needs to be in HTML" - or some other format that a browser will be able to display" #!/usr/bin/perl print "Content-type: text/html\n\n"; print "Olá, Mundo!"; Mestrado em Informática Universidade do Minho! 13! CGI programming all output from CGI program must be preceded by a MIME-type #!/usr/bin/perl header" output needs to be in HTML" use CGI ':standard'; - or some other format that a browser will be able to display" $q = new CGI; $nome = $q->param('nome'); print #!/usr/bin/perl header("text/html"); print "<html>"; "Content-type: text/html\n\n"; print "Olá, $nome!"; Mundo!"; print "</html>"; Mestrado em Informática Universidade do Minho! 14! 2

CGI? Language independent approach" - Any program that the server can run can be used" - Programs only need to output text" Low-tech approach" - Inefficient from time and memory perspective" - Can quickly overwhelm web servers" Mestrado em Informática Universidade do Minho! 15! Direct execution Applications run on web server instead of OS" - Apache modules (PHP, )" - Apache Tomcat (JSP)" - ASP.NET" - Internet Server Application Programming Interface (ISAPI)" Application servers" - Move back towards mainframe computing" - Server stores business logic and user interface" - Client side runs on a browser" Mestrado em Informática Universidade do Minho! 16! Servlets Tecnologia Java" Geração de HTML on the fly! Nova vista (página) gerada a cada pedido" - Vista é programada, não desenhada" - Não encorajam separação entre apresentação e negócio/conteúdo" Mestrado em Informática Universidade do Minho! 18! 3

JSP (Java Server Pages) Permite incluir código Java nas páginas HTML" Ficheiros.jsp compilam para Java" - ou directamente para bytecode" - on interpretados on the fly " Código Java compilado e executado para gerar HTML" Um salto de abstracção em relação às Servlets" Mestrado em Informática Universidade do Minho! 19! JSP: Expressões <%= expressão Java %>" Hello! The time is now <%= new java.util.date() %> Expressão avaliada em run time " Mestrado em Informática Universidade do Minho! 20! JSP: Scriptlets <% bloco de código Java %>" <% System.out.println( "Evaluating date now" ); java.util.date date = new java.util.date(); %> Hello! The time is now <%= date %> Por si só uma Scriptlet não produz HTML" - mas podemos programá-la para isso " Mestrado em Informática Universidade do Minho! 21! 4

JSP: Algumas variáveis out: javax.servlet.jsp.jspwriter" - Para escrever na página" Hello! Your address is: <% out.println( request.getremotehost());%> request: javax.servlet.http.httpservletrequest" - informação sobre o pedido enviado pelo browser" response: javax.servlet.http.httpservletresponse" - resposta a enviar ao browser" Hello! The time is now <% out.println( String.valueOf( date )); %> http://java.sun.com/products/servlet/2.2/javadoc/ Mestrado em Informática Universidade do Minho! 22! JSP: Misturar HTML e Java Melhor que utilizar out é misturar HTML e Java" <table border=2> <% for ( int i = 0; i < n; i++ ) { %> <tr> <td>number</td> <td><%= i+1 %></td> </tr> <%}%> </table> Mestrado em Informática Universidade do Minho! 23! JSP: Directivas <%@ tipo atributo%>" - tipo: page/include/taglib/ " Directiva page: informação sobre a servlet a gerar" - import/contenttype/pageencoding/session/errorpage/ " <%@ page import="java.util.*" %> Hello! The time is now <%= new Date() %> Directiva include: " <%@ include file="relativeurl" %> Mestrado em Informática Universidade do Minho! 24! 5

JSP: Declarações <%! declarações Java %>" <%@ page import="java.util.*" %> <%! Date thedate = new Date(); Date getdate() { System.out.println( "In getdate() method" ); return thedate; } %> Hello! The time is now <%= getdate() %> Mas agora não funciona! (class level scope)" Mestrado em Informática Universidade do Minho! 25! JSP: tags tags pré-definidas" - <jsp:tag> </jsp:tag>" - text/include/forward/usebean/getproperty/ setproperty/plugin" tags de bibliotecas externas (taglibs)" - Directiva taglib" <%@ taglib uri="uriforlibrary" prefix="tagprefix" %> Mestrado em Informática Universidade do Minho! 26! JSP: Sessões Variável: session" - um(a espécie de) Map " - permite guardar informação de página para página" session.setattribute("thename", name); session.getattribute("thename ); Mestrado em Informática Universidade do Minho! 27! 6

Links Úteis http://java.sun.com/products/jsp/" http://java.sun.com/products/jsp/syntax/2.0/card20.pdf" http://www.jsptut.com/" Mestrado em Informática Universidade do Minho! 30! 7