JavaServer Pages
JavaServer Pages (JSP) é uma tecnologia utilizada no desenvolvimento de aplicações para Web, similar às tecnologias Active Server Pages (ASP) da Microsoft ou PHP. 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.
São exemplos de servidor compatível com a tecnologia JSP o Tomcat e o Glassfish.
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.
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 - Scriplet tag
Todo o código entre <% %> é chamado de scriptlet. Sintaxe: <% …código %>
5 - Action tag
Esta tag tem como principais funcionalidades:
- Acessar e alterar propriedades de JavaBeans (
jsp:useBean
,jsp:getProperty
ejsp:setProperty
); - Redirecionar a requisição para outra página JSP (
jsp:forward
); - Uma única tag para a inclusão de applets Java em páginas, independentemente do browser cliente (
jsp:plugin
ejsp:fallback
).