Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos

Slides:



Advertisements
Apresentações semelhantes
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Advertisements

Framework para desenvolvimento web
Objetos Implícitos Contextuais
JSP Segundo Semestre – 2008 Professor Glaucio Bianchini
Modelo Cliente-Servidor
Projeto de Sistemas de Software
Projeto de Sistemas de Software
Alcides Calsavara JSP JavaServer Pages Alcides Calsavara
Java Server Pages (JSPs)
Tecnologia para Web JavaScript
Prof.: Carlos Hairon R. Gonçalves
WebWork e JSP Keven andrade
Geração Dinâmica de Páginas com JSP Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação.
Model-View-Controller (MVC) em Aplicações Web Eduardo Martins Guerra Desenvolvimento de Soluções WEB.
Tecnologias para Internet
EL e JSTL Prof. Danton Cavalcanti Franco Junior
Desenvolvimento de Projetos e Aplicações Web
Seminários Avançados 3 Conceitos Java EE Servidor de aplicação Tomcat
JAVA: Conceitos Iniciais
Aplicativos Web Com Orientação a Objetos
Desenvolvimento WEB I Camila Nunes
Grupo de Pesquisa em ENGENHARIA DE SOFTWARE
Programação Orientada a Objetos com Java
Capítulo 2 Java Servlets.
Filtros. O que são Filtros Um filtro é um componente Web que reside no servidor Intercepta as requisições e respostas no seu caminho até o servlet e de.
Web Services Uninorte Semana de Tecnologia da Informação
Linguagem de Programação JAVA
 Muitas aplicações se faz necessário o acompanhamento da navegação do usuário armazenando informações específicas de cada um.  É comum hoje em dia acessarmos.
Aula 2 – Primeiros Passos com a arquitetura Web Servidor
Prof. Alexandre Monteiro Recife
Professor: Márcio Amador
Tópicos Especiais J2EE Prof. Cristina Valadares Curso de Ciência da Computação.
1 Servlet Prof. Alexandre Monteiro Recife. Contatos n Prof. Guilherme Alexandre Monteiro Reinaldo n Apelido: Alexandre Cordel n /gtalk:
Servlets e JSP Desenvolvimento de Aplicações Web
Aula 2 – Primeiros Passos com a arquitetura Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas.
Arquitetura das JSP - Aula 2
Aplicações Web com Orientação a Objetos
Unidade 6 – Formulários HTML Prof.: Henrique Santos
RMI - JAVA.
JSP JavaServer Pages Marco Antonio, Arquiteto de Software – TJDF Dezembro/2005.
Aula 1 - Fundamentos Web Servidor
Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos.
Padrões de Interação com o Usuário
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Tópicos Especiais J2EE Prof. Cristina Valadares Curso de Ciência da Computação.
JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan
JSP – Mais Recursos Jobson Ronan
Unidade 5 – Integrando JSP e Servlets Prof.: Henrique Santos
Daniel Garcez de Sousa 07/04/2015. Nesta apresentação abordaremos os conceitos básicos sobre o ciclo de vida de um Servlet e os HTTP servlets. No final.
OBJETIVO Nesta aula será apresentado o desenvolvimento básico sobre HTTP Servlets. Espera-se que, ao final da apresentação, o aluno tenha noções de como.
Programação Distribuída em Java Aula Na aula passada vimos: TomCat –Instalação e configuração –Criação de contexto JSP... uma introdução –Expressões.
Programação Distribuída em Java Aula 09 - JSP. Na aula passada vimos: Aspectos gerais de segurança em Java policytool Instalação de políticas de segurança.
Java Server Pages Um estudo de caso para aprendizagem Renata França de Pontes.
Feapa Prof Osiel Marlon Disciplina: Engenharia de Software 2009 Curso: Sistemas de Informação.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
Aula 1 - Fundamentos Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros.
USANDO JAVABEANS EM JSP. Usando JavaBeans em JSP  O uso de JavaBeans em uma página JSP envolve as actions, e.
Universidade Federal de Sergipe Departamento de Sistemas de Informação Bruno Cruz Jessica Rodrigo Aragão – ASP.NET MVC 3.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Desenvolvimento WEB II Professora: Kelly de Paula Cunha Apresentação baseada no material didático elaborado pelo Prof. Pasteur Ottoni de Miranda Junior.
1 AJAX em aplicações Rails Lívia Monnerat Castro
Prof. Rogerio Alessandro Bueno 1 JavaServer Pages (JSP) Prof. Rogério A. Bueno.
Servlets Manoel Neto Objetivos Aprender  Como escrever um servlet  Como compilar um servlet  Como executar Também serão.
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Java TM Platform, Enterprise Edition (Java EE) Projeto de Sistemas de Software.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Servlets Servlets e uma tecnologia desenvolvida pela SUN para desenvolvimento de aplicações na WEB a partir de componentes Java que executam no lado do servidor. Esta tecnologia faz parte da plataforma J2EE (Java 2 Plataform Enterprise Edition) que fornece um conjunto de tecnologia para o desenvolvimento de soluções escaláveis e robustas para para a WEB.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Servlets Servlets são classes Java que são instanciadas e executadas em associação com servidores Web, atendendo requisições realizadas por meio do protocolo HTTP. Ao serem acionados, os objetos Servlets podem enviar a reposta na forma de uma página HTML ou qualquer outro conteúdo MINE.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Servlets Servlets não possuem interface gráfica e suas instâncias são executadas dentro de um ambiente Java denominado Container. O Container gerencia as instâncias dos Servlets e provê os serviços de rede necessárias para as requisições e respostas. Tipicamente existe apenas uma instância de cada Servlets, porém o Container pode criar vários threads, permitindo que uma única instância Servlet atenda mais de uma requisição simultaneamente.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Servlets Relacionamento entre Servlets, Container e Servidor Web

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Servlets - API A API Servlet é composta por um conjunto de interfaces e Classes. O componente mais básico da API é a interface Servlet. public interface Servlet { public void init (ServletConfig config) throws ServletException; public ServletConfig getServletConfig(); public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException; public String getServletInfo(); public void destroy(); } Interface Servlet

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Servlets - API O método service() é responsável pelo tratamento de todas as requisições dos clientes. O init() e o destroy() são chamados quando o Servlet e carregado e descarregado do container. O getServletConfig() retorna um objeto ServletConfig qie contém os parâmetros de inicialização do Servlet O getServletInfo() retorna uma String com as informações sobre o Servlet como versão e autor.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Servlets - API O restante da API Servlet se organiza hierarquicamente : Servlet GenericServlet HttpServlet A classe HttpServlet é a mais utilizada e foi especialmente projetada para lidar com o protocolo HTTP. HttpServlet public abstract class HttpServlet extends GenericServlet implements java.io.Serializable A classe HttpServlet é uma classe abstrata. E para criar um Servlet que atenda requisições HTTP o programador deve criar uma classe derivada da HttpServlet e sobrescrever pelo menos um dos métodos.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Servlets Todos os métodos são invocados pelo servidor por meio do método service(). O doGet() : Trata as requisições GET, que este tipo pode ser enviada várias vezes permitindo que seja colocada em um bookmark. O doPost() : Trata requisições POST que permitem que o cliente envie dados de tamanho ilimitado para o servidor WEB uma única vez, útil para enviar informações como nr do cartão de crédito e tec. O doPut() : Trata requisições PUT, permite que o cliente envie um arquivo para o servidor similar ao feito com o FTP.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Compilando o Servlet A API Servlet ainda não foi incorporado ao SDK, portanto para compilar um Servlet é preciso adicionar a API Servlet ao pacote SDK. Pode ser baixada gratuitamente pela Intenet (existem vários) uma das alternativas é fornecido pelo projeto Jakarta ( denominata de TomCathttp://jakarta.apache.org Após a intalação do TomCat teremos a seguinte árvore de diretórios: X:\ jakarta-tomcat-x.x.x bin conf doc Lib Logs Src webapps Antes de executar o Tomcat é necessário definir duas variáveis de ambiente. Supondo que o MS-windows e o TomCat foi instalado nos diretórios: C:\tomcat eo SDK no c:\sdk teremos as seguintes variáveis de ambiente: set JAVA_HOME=c:\sdk set TOMCAT_HOME=c:\tomcat Agora para executar o TomCat e encerrar: C:\tomcat\startup.bat C:\tomcat\shutdown.bat (mostrará a página principal do tomcat)

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Compilando o Servlet O número da porta default para o recebimento das requisições HTTP pode ser alterada por meio da edição do arquivo server.xml do diretório conf : <Parameter name = “handler” value = “org.apache.tomcat.service.http.HttpConnectoinHandler”/> <Parameter name = “port” Value = “número_da_Porta” Antes de executar o Servlet e preciso compila-lo, é preciso que a classe que implementam a API servlet esteja no classpath. No Windows: set CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%/lib/servlet.jar Ambinete Unix CLASSPATH=${CLASSPATH}:${TOMCAT_HOME}/lib/servlet.jar

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Executando o Servlet O diretório de uma aplicação é denominado de contexto da aplicação, que é necessário editar o arquivo server.xml do diretório conf, incluir as seguintes linhas: <Context path=“/nome_da_aplicação” docBase=“webapps/nome_da_aplicação” debug=0 reloadble=“true” > É preciso criar ou copiar de outra aplicação, um arquivo web.xml no diretório web-inf com o seguinte conteúdo:

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Executando o Servlet Poderemos executar o Servlet, digitando a URL do Servlet diretamente no navegador: A palavra servlet que aparece na URL não indica um subdiretório no servidor. Ela indica que esta é uma requisiçãopara um servlet. Supondo que o nome da aplicação criada no TomCat seja teste. No caso de uma página HTML basta coloca a URL na forma de link: servlet ola

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JSP Java Server Pages

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JSP Java Server Pages (JSP) – São páginas HTML que incluem código Java e outros tag´s especiais. Desta forma as partes estáticas da página não precisam ser geradas por println(). Imagine criar uma aplicação completa ???? A parte dinâmica e gerada pelo código JSP. Assim a parte estática pode ser projetada pelo Web Designer.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JSP A primeira vez que uma página JSP é carregada pelo container JSP o código java é compilado gerando um Servlet que é executado, gerando uma página HTML que é enviada para o navegador. As chamadas subseqüentes são enviadas diretamente ao Servlet gerando na primeira requisição, não gerando mais as etapas de geração e compilação do Servlet.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JSP 1 a requisição é enviada para um servidor web que reencaminha a requisição (2) para o container Servelet/JSP. 3 o container verifica que não existe nenhuma instância de Servlet correspondente à página JSP que é traduzida para código fornte de uma classe Servlet e que será usada na resposta à requisição 4 o código fonte do Servlet é compilado, e na etapa (5) é criada uma instância da classe. Finalmente na etapa 6 é invocado o método service() da instância Servlet para gerar a resposta à requisição.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Primeiro exemplo de um JSP Exemplo de uma página JSP olá mundo, OlaMundo.jsp exemplo JSP Salve como olaMundo.jsp dentro do subdiretório /webapps/examples/jsp/teste Para invocar:

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Tags JSP Os tags JSP possuem a seguinte forma geral O primeiro caracter % pode ser seguido de outros caracteres que determinam o significado preciso do código dentro do tag. Os tags JSP possuem correspondência com os tags XML. Existem 5 Categorias de tags JSP Expressões Secriptlets Declarações Diretivas Comentários

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Tags JSP Expressões As expressões são avaliadas, convertidas para string e colocadas na página enviada. Isso ocorre em tempo de execução, quando a página e requisitada. Note que os comando não terminam com “;” Colocará a data corrente em milésimos de segundo Colocará o método usado na requisição Scriptlets Quando é necessário mais de um comando Java ou resultado da computação – não é para ser colocado na página de resposta para tanto é preciso usar outra categoria de tag´s JSP

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos exemplo <% String valor = request.getParameter(“txtcelcius”); double f = (Double.parseDouble(valor)*9/5) +32; out.println(“ ”); out.println(“ Valor é” + f + “ ”); %> Celcius: Tags JSP O código dentro do scriptlet é inserido da mesma forma que é escrito todo texto HTML estático antes e após ou um scriptlet é convertido para comandos print(). Desta forma o scritplet não precisa conter comandos para o código estático e blocos de controle abertos afetam o código HTML envolvidos pelo scriptlets

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Tags JSP Declarações Uma declaração JSP permite definir variáveis ou métodos que são inseridos no corpo do Servlet. Como as declarações não geram saídas, elas são normalmente usadas em combinação com expressões e secriptlets. Acessos desde carregada Aqui mostra a declaração de uma variável que é usada para contar o número de vezes que a página corrente foi requisitada desde que foi gerada. As variáveis declaradas desta forma são variáveis de instância. Já que são declaradas em Scriptles são variáveis locais ao método _jspservice() <%! private double converte (double c) { return c*9/5+32; } %> Definição de um método para conversão para celcius :

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Tags JSP Comentários Para páginas HTML São mensagens para JSP container. Elas não enviam nada para a página mas são importantes para definir atributos JSP e dependências como o JSP container. Diretivas Diretiva atributo1=“valor1” atributo2=“valor2” atributon=“valorn” %>

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos Tags JSP Extraindo Valores de Formulários: Da mesma forma que um Servlet, pode usar objeto referenciado pela variável request para obter valores dos parâmetros de um formulário. Formulário <% enumeration campos = request.getParameterNames(); While (campos.hasMoreElements()) { String campo = (String)campos.nextElement(); String valor = request.getParameter(campo); %> = Nome: Telefone:

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos O Uso do JavaBens A medida que o código Java dentro do HTML torna-se cada vez mais complexo o desenvolvedor pode-se perguntar: Java em HTML não é o problema invertido do HTML em Servlet ????.. O resultado não será tão complexo quanto produzir uma página usando println() ????... Estou novamente misturando conteúdo com forma ???? Xiiiii E agora ??????.....

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos O Uso do JavaBens Para solucionar esse problema a especificação de JSP permite o uso de JavaBeans para manipular a parte dinâmica em Java. JavaBeans – Podemos encarar como sendo apenas uma classe Java que obedece a uma certa padronização de nomeação de métodos, formando o que é denominado de propriedades. As propriedades de um bean são acessadas por meio de métodos que obedecem a convenção getXxxx e setXxxx sua sintax para o uso de um bean em uma página JSP é:

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos O Uso do JavaBens Para modificar as propriedades de um JavaBean podemos usar o jsp:setProperty ou chamar um método explicitamente em um scriptlet. Para recuperar o valor de uma propriedade de um JavaBean podemos usar o jsp:getProperty ou chamar um método explicitamente em um scriptlet. Quando é dito que um bean tem uma propriedade prop do tipo T significa que o bean deve prover um método getProp() e um método do tipo setProp(T).

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos O Uso do JavaBens Antes de mais nada vamos entender um tipo de padrão de projeto chamado MVC (Model View Controlle)

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos O Uso do JavaBens Uma arquitetura bastante usada e a Arquitetura de modelo 2 este explora o Design do MVC visando uma clara separação entre a lógica e a interface da aplicação.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos O Uso do JavaBens Agora voltaremos a falar sobre o Bean. Página bean.jsp Uso do Bean Mensagem: Arquivo Curso/BeanSimples.java pakege curso; public class BeanSimples{ private String men = “Nada de mensagem”; public String getMensagem(){ return (men); } public String setMensagem(String men) { this.men = men; }

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos O Uso do JavaBens Um JavaBean é uma classe cuja estrutura e sintaxe obedecem a um conjunto de regras. Então qualificar uma classe como sendo um JavaBean é exclusivamente uma questão de compromisso assumido pelo desenvolvedor. Por outro lado se uma classe for um JavaBean estão editores compatíveis com o padrão JavaBean conseguem manipular visualmente instâncias destas classes.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos O Uso do JavaBens As regras que definem um JavaBean: REGRADESCRIÇÃO 1 – ConstrutorDeve haver um construtor sem nenhum argumento. 2 – PersistênciaTodo JavaBean pode implementar a interface java.io.Serializabe Esta regra não precisa ser necessariamente obedecida. 3 – Acesso aos atributos Se o JavaBean possui um atributo na forma tipo atributo; então o acesso ao valor deste atributo deve ser feito através do método public tipo getAtributo(). 4 – Mudança no valor dos atributos Se o JavaBean possui um atributo na forma tipo atributo; então a mudança do valor deste atributo deve ser feito através do método public void tipo setAtributo(tipo valor). 5 – PropriedadeUm JavaBean pode ter, além de seus atributos, propriedades. Estas são caracterizadas pela existência de métodos nas formas public void setPropriedade(tipo valor) e/ou public getPropriedade(). 6 – Encapsulamento de atributos Todos os atributos devem estar encapsulados, isto é, devem ser qualificados como private ou, ao menos, protected.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos O Uso do JavaBens Exemplo de um JavaBean usando as regras Arquivo TesteBeanSimples.java public class TesteBeanSimples{ private String nome; private float nota; public TesteBeanSimples() { nome = “”; nota = 0.0f; } public void setNome(String valor){ nome = valor; } public void setNota(float valor){ nota = valor; calculaNota(); } public String getNome(){ return nome; } public float getNota(){ return nota; } protecd void calculaNota(){ nota = nota * 1.03 } }