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 A classe SecurityManager
Na aula de hoje veremos: TomCat JSP... uma introdução
TomCat... O que é? Servidor de aplicações Java para web. Instalação e configuração: –Vide (excelente) tutorial on-line no site de Márcio D’Ávila em: – Criação de contextos de aplicação –Veja o tutorial acima citado Observar a estrutura de diretórios
JSP Java Server Pages Características –Permite a inserção de código Java em páginas HTML –Permite a exibição de conteúdo dinamicamente –Semelhante a ASP... Com a vantagem da portabilidade
expressao.jsp JSP Expressões –Código Java inserido em páginas HTML usando-se: – –O código Java é avaliado em tempo de execução –Comentários são da forma Exemplo –Hora certa: –Atente para o uso do sinal ‘ = ‘
Scriptlets São blocos de código Java dentro da JSP Diferem das expressões por não usar ‘ = ‘ Exemplo: –<% // Tudo aqui dentro deve ser tratado como se estivesse – // sendo escrito em uma classe Java qualquer – System.out.println(“Instancia um objeto Date”); – java.util.Date data = new Date(); –%>
scriptlet.jsp A partir do trecho anterior teremos a variável data disponível para toda a JSP Poderíamos escrever então: –... –A hora atual é –... –Hoje, dia Podemos... Mas queremos?
Um scriptlet não gera conteúdo HTML Se for necessário imprimir de dentro de um scriptlet, usar a variável predefinida “out”, que é da classe JspWriter Exemplo –<% // Esse scriptlet gera saída HTML diretamente – System.out.println(“Instancia um objeto Date”); – java.util.Date data = new Date(); – out.println(String.valueOf(data)); –%>
misturando.jsp Misturando Java com HTML O uso repetitivo de ‘out’ torna o código complicado É possível aplicar-se as estruturas de controle do Java ao código HTML
diretivas.jsp Diretivas Para importar pacotes usamos “Diretivas” Existem várias diretivas Uso: Exemplo: –
Declarações Escrever uma JSP é equivalente a definir uma classe Fazemos declarações de variáveis e/ou métodos dentro de uma JSP usando a estrutura:
declaracao.jsp Exemplo –<%! String nome; – String sobremone; – void printName() { – String out = nome + sobrenome; – System.out.println(out); – } –%> Note que nesse caso a avaliação das variáveis declaradas é feita apenas no carregamento da JSP
Em resumo Variáveis declaradas em (scriptlet’s) –São locais –Tudo bem usar Variáveis declaradas em (JSP declaration style) –São “globais” e vão ser compartilhadas com outras threads dessa instância –Em geral não é uma boa idéia pois exige sincronismo, o que piora a performance
tags.jsp Tags JSP Não usam semelhante ao HTML Convenção de sintaxe usada por XML Podem ser de dois tipos –Carregadas de biblioteca externa –Predefinidas Tags predefinidas começam com jsp: Ex.
getName.htm Sessões Objeto associado a cada visitante do site Cada sessão recebe dados associados a um cliente que podem ser recuperados como fazemos em uma Hashtable Usuários distintos que acessarem a mesma página simultaneamente terão sessões diferentes
Processamento de formulários HTML Defina uma classe que tenha um campo correspondente a cada campo do formulário (exatamente o mesmo nome) Crie getters e setters para todos os campos. Coloque seu arq.class no local apropriado de acordo com a versão do Tomcat que estiver utilizando (classpath do servidor)
getData.html and zellerAlgorithm.jsp Na JSP incluir: – A tag useBean cria uma instância “var” de MinhaClasse ou atualiza se a mesma já existir... Essa instância é chamada “bean” – A tag setProperty coleta os dados de entrada, compara com os campos do “bean” e atribui os valores coletados usando os setters apropriados. A partir daí, os campos do objeto “var” da classe “MinhaClasse” podem ser acessados através dos seus getters
O que você precisa saber: Instalar e configurar um ServletContainer Compreender as características principais de uma JSP Diferenciar as estruturas da JSP e perceber o melhor momento de se utilizar de cada uma delas Ter noção de “o que são beans”
Na próxima aula veremos Java Servlets