Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Servidor Sistemas web Java Server Pages – JSP Parte I Java Server Pages Java Server Pages -- JSPJSP • As Java Server Pages é um mix de HTML com Java de forma integrada. • O código Java existente numa JSP é normalmente simples. • Permitem que os papéis do desenvolvedor HMTL e programador Java sejam separados. JSP programador Java sejam separados. • Incorporam código Java em código HTML estático, enquanto as servlets geram código HTML a partir de código Java. HTML e JSP HTML e JSP -- Requisição e RespostaRequisição e Resposta JSP <HTML> <HEAD> <TITLE>Formulário</TITLE> <script language="javascript"> function valida() { if(frm.campo.value == '') { alert("Campo obrigatório."); frm.campo.focus(); return false; } return true;return true; } </script> </HEAD> <BODY> <FORM NAME="frm" METHOD=POST ACTION="nome1.jsp" onsubmit="return valida()"> Qual seu nome? <INPUT TYPE=TEXT NAME="campo"><P> <INPUT TYPE=SUBMIT VALUE="Enviar"> </FORM> </BODY> </HTML> formnome.html HTML e JSP HTML e JSP -- Requisição e RespostaRequisição e Resposta JSP <HTML> <HEAD> <TITLE>Formulário</TITLE> <script language="javascript"> function valida() { if(frm.campo.value == '') { alert("Campo obrigatório."); frm.campo.focus(); return false; javascript (interpretado e executado no return false; } return true; } </script> </HEAD> <BODY> <FORM NAME="frm" METHOD=POST ACTION="nome1.jsp" onsubmit="return valida()"> Qual seu nome? <INPUT TYPE=TEXT NAME="campo"><P> <INPUT TYPE=SUBMIT VALUE="Enviar"> </FORM> </BODY> </HTML> browser) <HTML> <HEAD> <TITLE>Formulário</TITLE> <script language="javascript"> function valida() { if(frm.campo.value == '') { alert("Campo obrigatório."); frm.campo.focus(); return false; HTML e JSP HTML e JSP -- Requisição e RespostaRequisição e Resposta JSP html return false; } return true; } </script> </HEAD> <BODY> <FORM NAME="frm" METHOD=POST ACTION="nome1.jsp" onsubmit="return valida()"> Qual seu nome? <INPUT TYPE=TEXT NAME="campo"><P> <INPUT TYPE=SUBMIT VALUE="Enviar"> </FORM> </BODY> </HTML> html (interpretado e executado no browser) <HTML> <HEAD> <TITLE>Formulário</TITLE> <script language="javascript"> function valida() { if(frm.campo.value == '') { alert("Campo obrigatório."); frm.campo.focus(); return false; HTML e JSP HTML e JSP -- Requisição e RespostaRequisição e Resposta JSP return false; } return true; } </script> </HEAD> <BODY> <FORM NAME="frm" METHOD=POST ACTION="nome1.jsp" ONSUBMIT="return valida()"> Qual seu nome? <INPUT TYPE=TEXT NAME="campo"><P> <INPUT TYPE=SUBMIT VALUE="Enviar"> </FORM> </BODY> </HTML> página JSP a ser acionada no servidor Web parâmetro (variável) a ser enviado para a página JSP HTML e JSP HTML e JSP -- Requisição e RespostaRequisição e Resposta <HTML> <HEAD><TITLE>Página Ola</TITLE></HEAD> <BODY> <% String nome = request.getParameter("campo"); %> <H1><FONT color=blue> Ola! <%= nome %> </H1><H1><FONT color=blue> Ola! <%= nome %> </H1> </BODY> </HTML> nome1.jsp Destaque em vermelho – elementos JSP. (compilado e executado pelo servidor Web) HTML e JSP HTML e JSP -- Requisição e RespostaRequisição e Resposta <HTML> <HEAD><TITLE>Página Ola</TITLE></HEAD> <BODY> <H1><FONT color=blue> Ola! José </H1><H1><FONT color=blue> Ola! José </H1> </BODY> </HTML> nome1.jsp –> saída HTML Página nome1.jsp interpretada e enviada ao browser pelo servidor Web. (No exemplo assume que o campo veio com o conteúdo “José” HTML e JSP HTML e JSP -- Requisição e RespostaRequisição e Resposta Browser Servidor Web Requisição (request) http://servidor:8080/apl/nome.html 1 2servidor esponde com a página nome.html 3 A ação do botão enviar aciona a página nome1.jsp no servidor 4servidor processa JSP e envia html com resultado JSP - Sintaxe e Estrutura JSP Os elementos JSP: • São incorporados em código HTML estático. • São colocados entre sinais <>. • Diferenciam maiúsculas e minúsculas. • São distinguidos das tags HTML por começarem por • São distinguidos das tags HTML por começarem por <% ou <jsp: • Seguem sintaxe XML, todas têm uma tag inicial, outra final, atributos e um corpo. • Saída de expressões/resultados <%=%= ... %> Elementos de JSP JSP Tipo de elemento Sintaxe JSP Descrição Diretivas <%@ diretiva...%> Informações usadas para controlar a tradução do texto JSP em código Java. Script <% %> Código Java embutido.Script <% %> Código Java embutido. Ações <jsp: > Tags específicas da JSP, usadas principalmente para suportar JavaBeans. Elementos de JSP • Elementos de Scripts – Contém a lógica do código. São esses elementos que são traduzidos e compilados. – Existem três tipos: declarações, scriptlets e expressões. • Declarações• Declarações – São utilizadas para declarar uma ou mais variáveis ou métodos. – As variáveis e os métodos definidos nas declarações são declarados como variáveis de instância. – Exemplo: <%! String cor = “green”; int j = 32; %> Elementos de JSP • Expressões – São instruções simples que são avaliadas e o resultado é convertido em uma string e colocado na página HTML. – Exemplo: <H1> Olá <%= nome %> </H1> • Scriplets• Scriplets – Contém trechos de código que são processados quando uma requisição é recebida pela JSP. – Variáveis de scriplets têm o escopo de cada requisição. As variáveis de declarações têm escopo de instância – Exemplo: <% int i = 42; %> <BIG> The answer is <%= i %></BIG> Comentários em JSP <%-- este é um comentário de JSP --%> <% /* este é um comentário em Java */ %> <!–- este é um comentário HTML --><!–- este é um comentário HTML --> Declaração em JSP Exemplos de declarações de métodos: <%! public long fatorial (long x) { if (x == 0) return 1; else else return x * fatorial(x-1); } %> Declaração e expressão em JSP Exemplo de uso em página: <html> <head> <title>Titulo</title> </head> <body> <%! public long fatorial (long x) { if (x == 0) if (x == 0) return 1; else return x * fatorial(x-1); } %> FATORIAL: <%= fatorial(5) %> </body> </html> Declaração Expressão Problemas das JSPs • Erros de JSP que fazem a tradução falhar. Exemplo – ausência do sinal de fechamento %: <H1> Hoje é <%= new java.util.Date() > </H1> • Erros Java que fazem a compilação falhar. Exemplo – chamada de procedimento inválido:Exemplo – chamada de procedimento inválido: <H1> Hoje é <%= new java.util.Datex() %> </H1> • Erros de HTML que fazem a página ser exibida incorretamente. Diretivas JSP • As diretivas JSP são usadas para definir informações sobre uma página para o tradutor. Elas não produzem saída HTML. <% diretiva [atributo=“valor”] %> Diretiva Page • Utilizada para definir propriedades dependentes da página. Uma diretiva page é aplicada a toda a JSP, junto com todos os arquivos incorporados através da diretiva include. <%@ page importpage import=“java.io.*, java.net.*, java.util.*”%><%@ page importpage import=“java.io.*, java.net.*, java.util.*”%> <HTML> <HEAD> <TITLE> Exemplo JSP com page </TITLE> </HEAD> <BODY> <B> Hoje é <%= new Date() %> </B> </BODY> </HTML> exemplo2.jsp
Compartilhar