Programação para Internet II Aulas 01 e 02 Prof. Fernando Freitas Costa http://blog.fimes.edu.br/fernando nando@fimes.edu.br
Conteúdo Programático Instalação e configuração básica do Eclipse Indigo e do MySQL Programação do lado do servidor com Servlets, JSP e JSF Banco de Dados para Internet com MySQL Apresentação de assuntos atuais referentes a Internet (devido ao dinamismo da internet) 2
Bibliografia Básica CONVERSE, Tim; PARK, Joyce. PHP: a bíblia. 2.ed. Rio de Janeiro: Campus, 2003. DEITEL, Paul J., DEITEL, Harvey M.. Ajax, Rich Internet Applications e desenvolvimento Web para programadores. ed. Editora Pearson. 776p. ROCHA, Cerli Antônio. Desenvolvendo Web Sites Dinâmicos - PHP, ASP, JSP. Rio de Janeiro: Campus, 2003. SUEHRING, Steve. MYSQL: a bíblia. Rio de Janeiro: Campus, 2002. SZOLKOWSKI, Mark; TODD, Nick. JavaServer Pages - O Guia do Desenvolvedor. Rio de Janeiro: Campus, 2003. WELLING, Luke; THOMSON, Laura. PHP & MYSQL: Desenvolvimento web. 3.ed. Rio de Janeiro: Campus, 2005. 3
Bibliografia Complementar FIELDS, Duane K. & KOLB, Mark A. Desenvolvendo na Web com JavaServer Pages. Ciência Moderna, 2000. ISBN: 8573931000. TODD, Nick & SZOLKOWSKI, Mark. JavaServer Pages: Guia do Desenvolvedor. Campus, 2003. ISBN: 8535213244. LUCKOW, Décio Heinzelmann; MELO, Alexandre Altair de. Programação Java para a Web. São Paulo: Novatec, 2010. 4
Estratégia de Ensino Apresentar a teoria e levar os alunos para o laboratório para que possam desenvolver exemplos práticos sobre o que aprenderam na teoria. 5
Avaliações 50 % distribuídos em avaliações 40 % distribuídos em trabalhos 10 % para participação do aluno nas aulas, principalmente nas aulas práticas. 6
Ambiente de Programação NetBeans IDE - www.netbeans.org 7
Tecnologias Java Servlets JSP (JavaServer Pages) JSF (JavaServer Faces) PrimeFaces JDBC (Java Database Connectivity) MySQL 8
Java Linguagem totalmente orientada a objetos criada pela Sun Microsystems e hoje mantida pela Oracle. Inicialmente designada a pequenos dispositivos eletrônicos = fracasso Em 1995 foi apresentada ao mundo como linguagem e ambiente de desenvolvimento multiplataforma. Embora desde o início já pudesse ser utilizada como uma linguagem que rodasse tanto no servidor quanto no cliente, no ambiente web, atuou inicialmente no lado cliente na forma de Applets. Só alguns anos depois passou a ser utilizada no lado servidor. 9
Java A plataforma Java é composta por outras três: Java ME (Java Platform, Micro Edition). A edição para o desenvolvimento de aplicações para dispositivos móveis e embarcados. Java SE (Java Platform, Standard Edition). É a base da plataforma. Inclui o ambiente de execução e as bibliotecas comuns. Java EE (Java Plataform, Enterprise Edition). A edição voltada para o desenvolvimento de aplicações corporativas. 10
JSP Tecnologia baseada em Java que simplifica o processo de desenvolvimento de web sites dinâmicos e permite que web designers e desenvolvedores incorporem rapidamente elementos dinâmicos em seus sites utilizando tags especiais do tipo HTML com Java embutido. Estas tags fornecem ao designer de HTML uma forma de acesso a dados armazenados dentro de objetos Java sem que ele precise dominar a complexidade do desenvolvimento de uma aplicação Java. Fonte: FIELDS, Duane K. & KOLB, Mark A. Web Development with JavaServer Pages 11
JSP Permite a separação da parte lógica (parte dinâmica) da parte visual. Contém elementos especiais que podem realizar processamento por si, ou podem recuperar o resultado de um processamento realizado em um Servlet. A especificação 1.0 surgiu em junho de 1999, garantindo assim uma plataforma estável e bem definida. Atualmente o JSP está na especificação 2.1. 12
Porque JSP? JSP x ASP = Maior Portabilidade JSP x PHP = Facilidade de programação para conhecedores da linguagem Java, maior suporte à escalabilidade. JSP x Servlets Puros = Permite separar o design da parte dinâmica do site. JSP x Java Script = Mais poderoso, flexível, confiável e portável. 13
JSP - Benefícios Performance Scripts CGI criam novos processos enquanto que Servlets JSP criam novas threads. Novos processos copiam a memória do processo-mãe, enquanto threads compartilham a memória do processo-mãe JSP é tipicamente implementada através de Servlets. Quando o servidor web recebe uma solicitação, ele encaminha para um processo especial dedicado a tratar da execução de servlets. No contexto de JSP, esse processo é conhecido como container JSP. Servlets podem compartilhar a mesma conexão com BD JSP é baseado em Java, logo todo esforço realizado para melhorar o desempenho do Java reflete no desempenho do JSP. 14
JSP - Benefícios Reuso de Componentes JavaBeans Podem utilizar estratégias como Pool de Conexões. Separação entre apresentação e implementação 15
JSP Apresentação Implementação Tags JSP e HTML Tags JSP personalizadas JavaBeans 16
Execução de uma página JSP Uma página JSP é tipicamente convertida para um arquivo de servlet (arquivo.java) quando de sua compilação. Em seguida é gerado um arquivo.class O arquivo.class é instanciado e torna-se um objeto servlet Java. 17
Execução de uma página JSP Passos na execução de uma página JSP: 1. O servidor HTTP recebe a solicitação para execução de um servlet/jsp e a repassa, juntamente com os dados da solicitação, para o container. 2. O container verifica se aquele servlet já está carregado na memória. Se não estiver ou se houver uma versão mais nova do servlet, o container o carrega. O fato dos servlets mais recentes já estarem carregados na memória, representa em ganho de performance. 18
Execução de uma página JSP 3. Uma vez inicializado, o servlet estará apto a lidar com centenas de acessos simultaneamente, disparando para cada acesso uma nova thread para atendê-lo, ao invés de criar um novo processo. 4. Ao término do processamento, o resultado é enviado de volta para o servidor Web e apenas a thread é encerrada, permanecendo o processo pai (servlet) ainda na memória. 19
Execução de uma página JSP 20
Primeiro Exemplo //alomundo.jsp <html> <body> Hello World! </body> </html> Isto é um arquivo JSP válido? 21
Primeiro Exemplo //alomundo.jsp <html> <body> Hello World! </body> </html> Isto é um arquivo JSP válido? R = Sim 22
Primeiro Exemplo 23
Segundo Exemplo <%@page contenttype="text/html"%> <%@page pageencoding="utf-8"%> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>jsp Page</title> </head> <body> <h1>exemplo 01 </h1> <% for (int x=1; x<6;x++) out.println("<h"+x+"> Heading " + x + "</h"+x+">"); %> </body> </html> 24
Segundo Exemplo 25
Exercício Pesquise e faça um breve texto dizendo qual a relação entre Servlets, Conteiner de servlets e TomCat. Entregar até o final da aula. 26