Java Server Pages (JSP)
Java Server Pages (JSP) é uma tecnologia que ajuda os desenvolvedores de software a criarem páginas web geradas dinamicamente baseadas em HTML, XML ou outros tipos de documentos.
Lançada em 1999 pela Sun Microsystems, JSP é similar ao PHP, mas usa a linguagem de programação Java.
Para implantar e executar JavaServer Pages, um servidor web compatível com um container servlet, como Apache Tomcat, Jetty ou Glassfish, é requerido.
Por ser baseada na linguagem de programação Java, tem a vantagem da portabilidade de plataforma, que permite a sua execução em diversos sistemas operacionais, como o Windows da Microsoft, Unix e Linux.
Esta tecnologia permite ao desenvolvedor de páginas para Internet produzir aplicações que acessem o banco de dados, manipulem arquivos no formato texto, capturem informações a partir de formulários e captem informações sobre o visitante e sobre o servidor.
Uma página criada com a tecnologia JSP, após instalada em um servidor de aplicação compatível com a tecnologia Java EE, é transformada em um Servlet.
Arquitetonicamente, a JSP pode ser vista como uma abstração de alto nível de servlets Java. JSPs são traduzidas em servlets em tempo de execução. Cada servlet JSP é armazenado em cache e reutilizado até que a JSP original seja modificada.
JSP pode ser usada independentemente ou como o componente de visão de um projeto modelo-visão-controlador do lado do servidor, normalmente com JavaBeans como modelo e servlets Java (ou um framework como o Apache Struts) como o controlador. Este é um tipo de arquitetura Modelo 2.

JSP permite que o código Java e algumas ações pré-definidas sejam intercalados com conteúdo de marcação web estático, com a página resultante sendo compilada e executada no servidor que irá entregar um documento.
As páginas compiladas, assim como as bibliotecas Java dependentes, utilizam o bytecode Java em vez de um formato de software nativo.
Como qualquer outro programa Java, elas devem ser executadas em uma máquina virtual Java (JVM), que se integra com o sistema operacional do host servidor para fornecer um ambiente de plataforma neutra abstrato.
JSPs são normalmente utilizadas para entregar documentos HTML e XML, mas através do uso de OutputStream, elas também podem proporcionar outros tipos de dados.
O recipiente web cria objetos JSP implícitos como pageContext, servletContext, session, request & response.
A linguagem
Em relação a arquitetura, JSP pode ser visto como uma abstração de alto nível dos Java servlets. Páginas JSP são carregadas dentro do servidor e processado a partir de uma estrutura especial do servidor Java, chamada Java EE Web Application, muitas vezes como um arquivo .war .ear.
JSP permite que código Java e certas ações pré-definidas sejam intercaladas com conteúdo de marcação estático, resultando na página sendo compilada e executada no servidor para ser entregue num documento HTML ou XML.
As páginas compiladas e qualquer dependência de biblioteca Java usa os bytecodes primeiro que o formato nativo de software, e deve assim ser executado com uma JVM, a máquina virtual Java, integrada com o host do sistema operacional para prover um ambiente de abstração de plataforma.
A sintaxe de JSP é uma mistura de dois tipos básicos de conteúdo: scriptlet elements e markup. Markup é tipicamente um padrão HTML ou XML, enquanto os elementos scriptlet são blocos de código Java os quais podem ser unidos com o tipo de marcação, markup.
Quando a página é requisitada o código Java é executado e sua saída é adicionada, in loco, com o ambiente de marcação para gerar a página final.
Códigos JSP devem ser compiladas para criação das classes bytecodes antes de serem executadas, mas essa compilação é necessária apenas quando é feita uma mudança no código.
Sintaxe
Páginas JSP utilizam vários delimitadores para funções de script. A mais básica é <% … %>, que delimita um scriptlet JSP. Um scriptlet é um fragmento de código Java que é executado quando o usuário solicita uma página.
Outros delimitadores comuns incluem <%= … %> para expressões, onde o valor da expressão é colocado na página entregue ao usuário, e diretivas, denotadas com <%@ … %>.
O código Java não é necessário ser completo ou auto-contido dentro de seu bloco de elemento scriptlet, mas pode abranger conteúdos de marcação fornecendo a página como um todo é sintaticamente correto.
Por exemplo, quaisquer bloco Java if/for/while aberto em um elemento scriptlet deve ser corretamente fechado em um elemento posterior para que a página seja compilada com sucesso.
A marcação que cai dentro de um bloco de código quebrado está sujeito aquele código, desta forma a marcação dentro do bloco if aparecerá apenas na saída quando a condição if for avaliada como verdadeira (true).
Do mesmo modo, a marcação dentro de uma construção de loop pode aparecer várias vezes na saída dependendo de quantas vezes o corpo do loop for executado.
O código seguinte seria um loop for válido em uma página JSP:
<p>Contando até três:</p>
<% for (int i=1; i<4; i++) { %>
<p>Este número é <%= i %>.</p>
<% } %>
<p>Contagem concluída.</p>
A saída mostrada no navegador web do usuário seria:
Contando até três:
Este número é 1.
Este número é 2.
Este número é 3.
Contagem concluída.
Comentários JSP
O JSP tem um tipo de comentário próprio, por exemplo:
<%-- comentário --%>
Nota: este comentário só aparece do lado do servidor, não aparecendo por isso no código-fonte do browser.
Tags JSP
No JSP existem 5 tags:
1 – Declaration tag
Esta tag permite declarar variáveis e métodos. A sua sintaxe é:
<%! …mais alguma coisa.. %>
Um exemplo:
<%!
private int contador= 0 ;
%>
2 – Expression tag
Esta tag permite mostrar algum resultado. A sua sintaxe é: <%=..algo para mostrar…%> Por exemplo, para mostrar o valor da variável contador bastava apenas:
<%=contador %>
3 – Directive tag
Esta tag permite dar informação sobre a página ao motor JSP. Existe 3 tipos de directivas:
page: Processa informação para esta página. Existem 11 atributos opcionais. Sintaxe: <%@ page atributo=”valor” %>
Include: Arquivos para serem incluidos. Sintaxe: <%@ include file=”pagina.jsp” %>
Taglib: Define uma biblioteca a ser usada. Precisa de um prefixo e de um url: Sintaxe: <%@ taglib prefix = “prefixo” uri = “taglib.tld” %>
4 – Scriptlet tag;
Todo o código entre <% %> é chamado de scriptlet. Sintaxe: <% …código %>
5 – Action tag
Esta tag tem como principais funcionalidades:
1. Acessar e alterar propriedades de JavaBeans (jsp:useBean, jsp:getProperty e jsp:setProperty);
2. Redirecionar a requisição para outra página JSP (jsp:forward);
3. Uma única tag para a inclusão de applets Java em páginas, independentemente do browser cliente (jsp:plugin e jsp:fallback).
Domine as boas práticas com projetos práticos que vão te ajudar a desenvolver sistemas e se destacar no mercado de programação.
Clique na imagem abaixo e conheça mais detalhes do nosso curso:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Sobre o Autor
0 Comentários