UNIDADE II JAVA SERVLETS



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

Java para Desenvolvimento Web

Java para WEB. Servlets

Java II. Sérgio Luiz Ruivace Cerqueira

Desenvolvimento Web com JSP/Servlets

Arquitetura de uma Webapp

Desenvolvimento Web TCC Turma A-1

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

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

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

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

Alfamídia Programação: Java Web

Criando e Entendendo o Primeiro Servlet Por: Raphaela Galhardo Fernandes

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

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

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

Java na WEB Servlet. Sumário

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

Prática Sobre Servlets e JSP

Servlets. João Carlos Pinheiro. Julho / 2005

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

Programação Web Aula 12 - Java Web Software

World Wide Web e Aplicações

Prof. Roberto Desenvolvimento Web Avançado

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

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

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

J2EE TM Java 2 Plataform, Enterprise Edition

Aula 03 - Projeto Java Web

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

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

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

Programação WEB Introdução

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

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr

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

Kassius Vargas Prestes

Tecnologias Web. Java Servlets

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

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

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

Conceitos Básicos

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

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

Guia para Iniciantes do WebWork

INTRODUÇÃO À TECNOLOGIA SERVLETS

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

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

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

Tecnologias para Web

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

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Java Servlets. Leonardo Gresta Paulino Murta

CAPÍTULO 2. Este capítulo tratará :

3 Serviços na Web (Web services)

Prof. Fellipe Aleixo

Servlets e Applets, funcionamento e comparativo.

Servlets & JSP. Prof. Ramon Chiara

Curso de Aprendizado Industrial Desenvolvedor WEB

Manual de Instalação do OASIS

Programação Web Prof. Wladimir

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

Orientada a serviços: JAX-WS SOAP API

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Javascript Exemplos Objetos

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

WWW - World Wide Web

PHP AULA1. Prof. Msc. Hélio Esperidião

PROGRAMAÇÃO PARA WEB

Conteúdo Programático de PHP

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas para internet e software livre

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

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

Jsp, Servlets e J2EE

Web Technologies. Tópicos da apresentação

20/08/14 JAVA SERVLETS CONCEITOS CONTEÚDO ARQUITETURA DE UMA APLICAÇÃO WEB ARQUITETURA DA APLICAÇÃO WEB

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

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 3

Aplicativos JavaEE 6 modularizados com Web Fragments

J550. Helder da Rocha

Programação em Rede. Servlets. Manipulação de dados de input em Servlets

Escrevendo meu primeiro porlet. Gustavo Lira Consultor 4Linux

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

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

J550 Segurança e Controle de erros

Desenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Web Services. Autor: Rômulo Rosa Furtado

UFG - Instituto de Informática

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

Transcrição:

UNIDADE II JAVA SERVLETS

INTERNET É uma rede de redes, reunindo computadores do Governo, de universidades e empresas fornecendo infra-estrutura para uso de bancos de dados, correio eletrônico, servidores de arquivos, etc. É uma vasta coleção de redes de computadores que formam e agem como uma única rede, transportando dados e mensagens tanto dentro de um escritório quanto em outro ponto no mundo

INTERNET

INTERNET - ARQUITETURA Baseada na Arquitetura Cliente/Servidor Componentes: Software Hardware» Computador Cliente» Computador Servidor» Redes (LAN e WAN)» Roteador» Programa Cliente» Programa Servidor» Protocolo Aplicação» Protocolo TCP/IP

INTERNET - SERVIÇOS WWW E-MAIL USENET NEWS MBONE CHAT TELEFONIA IP

WEB É: um Sistema de Hipertexto/Hipermídia gráfica e fácil de navegar multi-plataforma distribuída dinâmica interativa Permite: web browsers acessarem formas diferentes de informação

MODELO WEB Cliente WWW Servidor WWW HTTP Internet TCP/IP (melhor-esforço) Serv. HTTP Páginas HTML

EXPLOSÃO DA WEB 1994 - Netscape (Andreesen + Clark) extensões de HTML (frames, etc) linguagem de scripts (depois chamada Javascript) 1995 - Microsoft Intenet Explorer 1996 - outras novidades browsers com Java plug-ins para tipos de dados especiais

PADRÕES WEB Criação de Sites SGML e suas especializações (HTML, XML e SMIL) CSS Envio / Recebimento de Conteúdo HTTP (WebDav / RTSP / SOAP), TCP/RTP(UDP)

CLIENTES WEB Softwares Clientes (Web browsers) Netscape Communicator Internet Explorer Opera Amaya

SERVIDORES WEB Softwares Servidores (Web Servers) IIS Apache iplanet Websphere

PORTAIS WEB Divulgar informações concisas e atualizadas Oferecer serviços Exemplo de Serviços em Portais Institucionais Inscrição no vestibular Simulados on-line Consulta de notas Cadastro em estágio e emprego

PORTAIS WEB Mercado estimado de 200 milhões de usuários (2005) e de 1 bilhão de usuários (2010) 10 milhões de Portais (1999) 200 milhões de Portais (2005)

PORTAIS WEB Não é possível desenvolver serviços utilizando (somente) os padrões W3C especificados. Solução Utilizar linguagens de programação para WWW Java Framework.NET Framework Independentes (JavaScript, Jscript, PHP, Flash, CGI, ColdFusion, etc.)

PORTAL UNAMA Solução Adotada: Java Framework (J2EE)

MODELO J2EE

MODELO J2EE SERVLET JSP EJB JDBC

JAVA SERVLETS Servlets são módulos que estendem servidores orientados a requisição/resposta, como servidores Web habilitados para Java. Um Servlet é similar a extensão proprietária de um servidor, sendo executado na JVM do mesmo.

JAVA SERVLETS Tecnologia surgiu em 1997, com objetivo de ser o novo paradigma de programação para servidores (versão atual 2.4). Ser mais eficiente que CGI (um dos primeiros mecanismos a permitir que um servidor WWW criasse conteúdo de forma dinâmica).

CGI Cria um processo para cada requisição Web. Requisição para CGI1 Servidor WWW baseado em CGI Processo Principal Processo Filho para CGI1 Requisição para CGI2 Processo Filho para CGI2 Requisição para CGI1 Processo Filho para CGI1

JAVA SERVLETS Cria threads para cada requisição Web. Requisição para Servlet1 Servidor WWW baseado em Java Servlet thread Processo Principal JVM Servlet1 Requisição para Servlet2 thread thread Requisição para Servlet1 Servlet2

MODELO JAVA SERVLETS

INTERAÇÃO WEB SERVER SERVLETS ServletRequest Web Server Servlet ServletInputStream BufferedReader ServletResponse Request Servlet Response Servlet Web Server ServletOutputStream PrintWriter Web server

Arquitetura da API Servlets Pacote javax.servlet Interface Servlet Classe GenericServlet Pacote javax.servlet.http Classe HttpServlet

Arquitetura da API Servlets Todo Servlet é sub-classe de HttpServlet. GenericServlet service(servletrequest, ServletResponse)() Ht tpservlet service(httpservletrequest, HttpServletResponse)() doget(httpservletrequest, HttpServletResponse)() dopost(httpservletrequest, HttpServletResponse)() dodelete(httpservletrequest, HttpServletResponse)() SeuServlet javax.servlet.* javax.servlet.http.*

Necessário Utilizar: J2SDK 1.3.1 J2EE SDK INSTALAÇÃO Estrutura de Diretório e arquivo de Configuração Servidor de Aplicação J2EE com container Web Documentação da API Servlet

ESTRUTURA DE DIRETÓRIO Necessário criar uma pasta base para todos os arquivos servlets (...\j2ee) Para toda aplicação Web em Java, deverá existir a pasta WEB-INF contida na pasta base. Esta pasta possuirá todas as aplicações Servlet, JSP e EJB.

A pasta WEB-INF possui: /WEB-INF/web.xml /WEB-INF/classes /WEB-INF/lib/*.jar WEB-INF

WEB.XML O arquivo web.xml é o descritor de aplicação WEB (deployment descriptor). Utilizado para configurar uma aplicação web. Utiliza tags pré-definidas para identificar os recursos da aplicação web. Todos web severs J2EE compatible deverão interpretar este arquivo de configuração.

WEB.XML <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>ola</servlet-name> <servlet-class>ola</servlet-class> </servlet> <servlet-mapping> <servlet-name>ola</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>

CLASSES e LIB O diretório CLASSES contem todas as classes Java servidor (Java Servlets, JSP, EJB, JB). O diretório LIB contem todos os arquivos Java que serão usados pela aplicação WEB. Estes arquivos estão no formato JAR (Java ARchive).

SERVIDOR DE APLICAÇÃO J2EE Caucho Technology Resin 3.0 (JavaServlets 2.4 e JSP 2.0) Disponível para download no Site Caucho (www.caucho.com) Jakarta Tomcat 5.0 (JavaServlets 2.4 e JSP 2.0) Disponível para download no Site Jakarta (http://jakarta.apache.org/) Também disponível no Portal Unama (www.unama.br)

CONFIGURANDO RESIN Descompactar o arquivo resin-2.1.3.zip Criar atalho para o arquivo resin-2.1.3\bin\httpd.exe Editar o arquivo resin-2.1.3\conf\resin.conf

CONFIGURANDO RESIN Alterar o conteúdo da tag (doc-dir) do arquivo resin-2.1.3\conf\resin.conf, incluindo a localização da pasta de arquivos Java Servlets.

EXECUTANDO RESIN

CRIANDO O PRIMEIRO SERVLET import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Ola extends HttpServlet{ public void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { res.setcontenttype("text/html"); PrintWriter out = res.getwriter(); out.println("<html>"); out.println("<title>ola Mundo</TITLE>"); out.println("<body><h1>bem vindo a Unama </h1></body></html>"); } }

EXECUTANDO O SERVLET Um Servlet pode ser invocado de três formas: Através de um Browser Através de uma página HTML Através de outro Servlet / JSP

EXECUTANDO O SERVLET Servlets podem ser chamados diretamente digitando-se suas URLs na janela de localização do browser. A URL para um servlet possui a seguinte forma geral: http://nome-máquina:porta/servlet/nomeservlet

EXECUTANDO O SERVLET Onde: nome-máquina - nome do servidor ou localhost se o servidor estiver na sua própria estação; porta - o servidor utiliza a porta 8080; servlet - diretório onde ficam armazenados os servlets. nome-servlet - nome do servlet a ser chamado. Salvar o servlet Ola.java na pasta Classes.

EXECUTANDO O SERVLET

ANATOMIA DO PROGRAMA Importação dos Pacotes Todo Servlet deve utilizar classes dos seguintes pacotes: import java.io.*; import javax.servlet.*; import javax.servlet.http.*; Definição da Classe Todo Servlet é sub-classe de HttpServlet. public class Ola extends HttpServlet{

ANATOMIA DO PROGRAMA Definição de Métodos Diferente do que ocorre com um programa comum Java, um Servlet não possui o método main( ). Pode definir os métodos: service(), doget() e dopost().

ANATOMIA DO PROGRAMA Definição de Métodos public void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { O método doget() recebe uma requisição GET HTTP solicitando o envio de um documento HTML.

ANATOMIA DO PROGRAMA Assinatura do Método Os objetos que representam a requisição do web-server e a resposta do servlet são, respectivamente: HttpServletRequest - encapsula dados dos clientes. HttpServlet Response - encapsula a resposta do servlet para o cliente. Os métodos sempre chamam as exceções do tipo ServletException e IOException.

ANATOMIA DO PROGRAMA Corpo do Método O método setcontenttype especifica o tipo de resposta (padrão MIME) a ser enviado pelo servlet. res.setcontenttype("text/html"); O padrão MIME para páginas HTML é text/html.

ANATOMIA DO PROGRAMA Corpo do Método O método getwriter( ) deve ser utilizado para retornar dados de texto para o usuário. PrintWriter out = res.getwriter(); Posteriormente, o objeto padrão de saída out envia as respostas do servlet utilizando o método println(). out.println("<html>");

EXERCÍCIOS 1- Alterar o servlet do exemplo anterior, incluindo novas mensagens a serem apresentadas ao usuário. 2- Criar um servlet que mostre quantas vezes o mesmo foi acessado pelos usuários desde que foi carregado na memória.