Programação Web Aula 12 - Java Web Software



Documentos relacionados
Java para WEB. Servlets

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

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

Java para Desenvolvimento Web

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

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

Aula 03 - Projeto Java Web

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:

Java II. Sérgio Luiz Ruivace Cerqueira

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

Java II. Sérgio Luiz Ruivace Cerqueira

Arquitetura de uma Webapp

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

INTRODUÇÃO À TECNOLOGIA SERVLETS

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

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

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

Servlets & JSP. Prof. Ramon Chiara

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

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

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

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

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

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

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

Servlets e Applets, funcionamento e comparativo.

UNIDADE II JAVA SERVLETS

Java na WEB Servlet. Sumário

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

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

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

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

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

TUTORIAL JSP & SERVLET

Prática Sobre Servlets e JSP

Java Beans e Servlets

Prof. Roberto Desenvolvimento Web Avançado

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

Java Servlets. Leonardo Gresta Paulino Murta

J2EE TM Java 2 Plataform, Enterprise Edition

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

J550. Helder da Rocha

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

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

Orientada a serviços: JAX-WS SOAP API

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

Tecnologias Web. Java Enterprise Edition

Curso de Aprendizado Industrial Desenvolvedor WEB

Scriptlets e Formulários

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

Programando em PHP. Conceitos Básicos

Servlets, JSPs e Java Beans

J550. Model View Controller

JSP: JAVA SERVER PAGES

Escola Superior de Tecnologia de Setúbal. Projecto Final

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

JSP: JAVA SERVER PAGES

UFG - Instituto de Informática

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

Tutorial Jogo da Velha WEB

Programação para Internet II

Desenvolvimento Web com JSP/Servlets

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Criando e Entendendo o Primeiro Servlet Por: Raphaela Galhardo Fernandes

Escrevendo meu primeiro porlet. Gustavo Lira Consultor 4Linux

Sistemas Distribuídos

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

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

J550 Segurança e Controle de erros

Integração de sistemas utilizando Web Services do tipo REST

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

World Wide Web e Aplicações

J550. Apache Struts. Helder da Rocha

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

Tecnologias para Web

Kassius Vargas Prestes

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Desenvolvimento Web TCC Turma A-1

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

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

Autenticação e Autorização

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

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

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

J820. Testes de interface Web com. HttpUnit. argonavis.com.br. Helder da Rocha

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

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

Transcrição:

Programação Web Aula 12 - Java Web Software Bruno Müller Junior Departamento de Informática UFPR 25 de Maio de 2015

1 Java 2 Java Web Software 3 Servlets Modelo de Trabalho Funcionamento API Java Código Java Código html Exemplos de Servlets Criação de Servlets no Netbeans Projeto Greet Servlet Containers Projeto Survey Projeto votecounter 4 JSP Modelo Exemplos EL JSTL JavaBeans Aula 12 - Java Web Software Programação Web

Java Sun - 1995 Linguagem OO compilada em bytecode. Máquina virtual executa bytecode. Multiplataforma (só precisa da MVJ na máquina hospeira). Projeto de uma MV que opera em navegadores (plugin). Segurança: MV não permite acesso a infos locais. Usada inicialmente só no lado cliente, porém também foi estendida para operar no servidor.

Java Web Software Esta aula aborda as tecnologias existentes no lado do servidor usando a linguagem Java. A ferramenta utilizada para exemplificar é Netbeans. Exemplos de ferramentas: Tomcat, JBoss, etc; Foco principal: Servlets; Ferramenta utilizada para exemplos: Netbeans;

Servlets Servlet: objeto java executado no servidor Web que responde requisições HTML; Utilizado para gerar respostas dinâmicas às requisições dos navegadores. normalmente instanciado quando uma requisição HTML é enviada à URL. Servlet Container ou Servlet Engine: é o dispositivo de software no servidor que gerencia Servlets. Ao receber uma requisição, o servidor Web verifica se é para um servlet. Se for, despacha a req. para o Servlet Engine.

Modelo de Trabalho Modelo de Trabalho

Funcionamento Funcionamento 1 Web server recebe uma requisição HTTP, e a examina. 2 Se a requisição envolve um servlet, o Web Server passa a requisição ao Servlet Container. 3 O Container analisa qual Servlet deve ser executado, o instancia (se necessário) e o chama. 4 A chamada passa dois parâmetros: o objeto da request e o objeto da response. 5 O objeto request pode conter dados de formulário (form) e identidade do cliente (por exemplo, cookies). 6 O Servlet pode conter código para gerar dinamicamente o documento HTML de response.

API Java API Java Há uma pacote java chamado Servlet (em javax.servlet) que contém interfaces para implementar servlets. Exemplos: ServletRequest e ServletResponse. Para criar um novo Servlet é necessário estender HttpServlet, que contém vários métodos, como por exemplo doget, dopost, doput, dodelete. public classe Exemplo extends HttpServlet { protected void doget (HttpServletRequest request, HttpServletRequest response) throws ServletException, IOException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter (); out.println("<html><head><title>"); out.println("exemplo Simples"); out.println("</title></head><body></body></html>"); } }

Código Java Código Java Código Java: Figura : Programming The WWW (Robert Sebesta)

Código html Código html Código html: Figura : Programming The WWW (Robert Sebesta)

Exemplos de Servlets Exemplos de Servlets A parte mais complexa da criação de um Servlet está na implantação dele. Por exemplo, no Tomcat, bastava criar um subdiretório abaixo do diretório principal e colocar lá o código compilado do Servlet. Com a criação de mais Servlet Containers (GlassFish, BEA entre outros), foram criado padrões para a implantação e da organização dos diretórios onde: A aplicação é empacotada em arquivos WAR (Web application ARchive), que tem estrutura semelhante a arquivos.zip contém descritor da implantação chamado web.xml na raiz. Por ser complexo, raramente codifica-se um Servlet sem o uso de um ambiente próprio como por exemplo Eclipse e Netbeans. Por esta razão, a criação do Servlet exemplo dos próximos Bruno Müller Junior slides utiliza o ambiente Netbeans. Departamento de Informática UFPR

Criação de Servlets no Netbeans Criação de Servlets no Netbeans Arquivo -> Novo Projeto Java Web -> Aplicação Web (<Próximo>) Dar nome (<Próximo>) Sem Framework <Finalizar> Novo -> Servlet <Finalizar>

Projeto Greet Projeto Greet Cria página com um botão que ativa o servlet. É necessário criar dois arquivos: 1 documento html para a primeira interação (index.html); 2 documento java que é o servlet (Greet.java). Observações: 1 Veja o projeto greetn: a forma de indicar o servlet a ser executado quando o button for ativado é a seguinte: <form action="greet" method="get"> 2 Observe como a resposta é criada (response object) 3 Observe os métodos doget e dopost;

Servlet Containers Servlet Containers São os programas responsáveis por responder a requisição do cliente (docto html ou servlet).

Projeto Survey Projeto Survey Usa um servlet para responder um formulário com radio input. Aspectos a serem observados: 1 Como é a associação entre a propriedade name com o código java: <input type="radio" name="gender" value="female" /> gender = request.getparameter("gender");

Projeto votecounter Projeto votecounter Mostra como utilizar cookies: Criar um cookie: newcookie=new Cookie("iVoted","true"); Especificar duração: newcookie.setmaxage(50); Enviar cookie: response.addcookie(newcookie); Verificar cookies da requisição: cookies = request.getcookies();

JSP Servlets misturam código HTML com código java println, por exemplo. Grande parte das organizações utiliza duas equipes: projetistas web (markup) e programadores web (lógica do negócio). Ambos tem de trabalhar nos mesmos arquivos, gerando problemas previsíveis. O objetivo de JSP (Java Servlet Pages) é permitir a criação de projetos com uma distinção clara entre markup e lógica do negócio. Em alguns casos, permite que os projetistas web contruam toda a aplicação.

Modelo Modelo JSP inclui uma camada acima de servlet.

Exemplos Exemplos Como JSP inclui várias possibilidades de implementação, serão apresentados vários versões para uma mesma aplicação: converter uma temperatura de Celsius para Fahrenheit: Usando Expression Language (EL); Usando JSTL Control Action Statements; Posteriormente a mesma aplicação será implementada usando JavaBeans.

EL EL As expressões a serem executadas são colocadas no documento de resposta (.jsp) usando o formato ${expressão EL} Projeto tempconvertel: index.html tempconverterel2.jsp

JSTL JSTL Inclui tags para executar condicionais. Úteis por exemplo para analisar se o usuário digitou um número. Projeto tempconvertel1: index.html tem um condicional que verifica se a mensagem contém uma requisição com dados (requisição contém POST). Atenção à inclusão e uso das tags condicionais (JSP) <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>... <c:if test = "${pagecontext.request.method!= POST }"> </c:if> Projeto MoreJSP: Usa radio, e JSTL <c:choose> (switch).

JavaBeans JavaBeans A arquitetura JavaBeans apresenta uma série de regras para construir classes especiais java projetados para serem usados como componentes reusáveis de software. Estes componentes são chamados beans. Há uma série de convenções rígidas. Exemplo: é obrigatória a existência de getter e setter começando com get e set. Assim, se a bean contém um inteiro chamado celsius, então os nomes são getcelsius e setcelsius Em JSP, são normalmente usados como recipientes para dados da aplicação Web.

Acesso Acesso Dados armazenados em um bean é chamado propriedade; Nomes de propriedades são como variáveis em java, mas começam sempre com minúscula e são privadas (com métodos públicos para acesso); o elemento JSP abaixo inclui a classe java contendo um bean: <jsp:usebean id="mybean" class="org.mypackage.convert.converter" /> Existem duas ações padrão para acessar um bean: <jsp:setproperty name="mybean" param="celsius" property="celsius" /> (equivalente a) <jsp:setproperty name="mybean" property="celsius" /> <jsp:getproperty name="mybean" property="celsius" />

Exemplo Exemplo projeto tempconvertb arquivo index.jsp arquivo response.jsp arquivo Converter.java (em Pacotes de código-fonte), atenção ao org.mypackage.convert.

MVC Existem basicamente três formas de criar MVC usando JSP: 1 JSP = {Controlador, View}, Beans = {Model}; 2 Servlet = {aceitar requisições, lógica }, Beans = {manipulação de dados}, JSP = {View}; 3 Servlet = {Controlador}, JSP = {View}, EJB 1 = {Model} 1 Enterprise Java Beans, componentes java distribuídos