Professional Documents
Culture Documents
11
Introduo ao JSP
Prof. Alessandro J. de Souza
AULA
O que JSP?
JavaServer Page JSP uma tecnologia que permite servir contedo dinmico em Web Sites. O processamento de JSP passa por uma camada adicional onde a pgina transformada (compilada) em um servlet. Tags Java dentro de pgina com tags HTML.
Ciclo de Vida
Exemplo JSPs
A forma mais simples de criar documentos JSP, mudar a extenso de um arquivo HTML para .jsp
Arquivo.jsp <html> <head> <title>Pgina JSP</title> </head> <body bgcolor="#FFFFFF"> Hello Jsp </body> </html>
Elementos JSP
Todos so interpretados no servidor
comentrios: <%-- ... --%> expresses: <%= ... %> declaraes: <%! ... %> scriptlets: <% ... %> diretivas: <%@ ... %>
Comentrios
Comentrios HTML
<!-- no servem para comentar JSP o texto ignorado pelo browser mas no pelo conteiner -->
Comentrios JSP
<%-- Texto, cdigo Java, e HTML so ignorados pelo servidor --%>
Pode-se tambm usar comentrios Java quando dentro de scriptlets, expresses ou declaraes:
<% cdigo JSP ... /* comentrio de varias linhas */ // comentrio de linha ... cdigo JSP %>
Expresses
Quando processadas, retornam um valor que inserido na pgina no lugar da expresso Sintaxe: <%= expresso %> Equivale a out.print(expresso) No terminar em ponto-e-vrgula Todos os valores resultantes das expresses so convertidos em String antes de serem redirecionados sada padro
<html> <head> <title>Pgina JSP</title> </head> <body bgcolor="#FFFFFF"> <%=(int)(Math.random()*10 %> </body> </html>
Declaraes
Permitem a declarao de variveis e mtodos em uma pgina e so teis para declarar:
Variveis e mtodos de instncia (pertencentes ao servlet) variveis e mtodos estticos (pertencentes classe do servlet) Sintaxe: <%! declarao %>
10
<%! String nome = Alessandro; String sobrenome = Souza; %> <html> <head> <title>Pgina JSP</title> </head> <body bgcolor="#FFFFFF"> <%= nome %> </body> </html>
Scriptlets
Blocos de cdigo que so executados sempre que uma pgina JSP processada
Correspondem a insero de seqncias de instrues no mtodo _jspService() do servlet gerado Sintaxe: <% instrues Java; %>
11
<%! String [] nomes = {Alessandro,Carlos,Andre}; %> <html> <head> <title>Pgina JSP</title> </head> <body bgcolor="#FFFFFF"><h1>Lista de Nomes</h1> <table> <th>Nome<th> <%for(int i=0; i<nomes.length; i++){%> <tr><td> <%= nomes[i]%> </td></tr> <% } %> </table> </body> </html>
JSP em web.xml
Aspectos JSP que podem ser configurados no web.xml Pgina Inicial Mapeamentos de URL Parmetros de iniciao
12
Pgina Inicial
Arquivo apresentado ao usurio se nenhuma pgina especfica for solicitada.
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
13
<web-app> <servlet> ... </servlet> <servlet-mapping> ... </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp<welcome-file> </welcome-file-list> </web-app>
web.xml
Mapeamento de URL
Mapear pginas JSP para URLs especficas.
http://maquina:[port]/app/index.jsp = http://maquina:[port]/app/alias
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>PaginaJsp</servlet-name> <jsp-file>/index.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>PaginaJsp</servlet-name> <url-pattern>/alias</url-pattern> </servlet-mapping> </web-app>
14
web.xml
Parmetros de Inicializao
Passar parametros para a JSP a partir do arquivo web.xml
<html> <body> <?xml version="1.0" encoding="ISO-8859-1"?> Parametro retirado do web.xml <!DOCTYPE web-app <%= PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" pagecontext.getServletConfig(). getInitParameter(nome) "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> %> </body>
15
jsp
</html> <servlet-name>PaginaJsp</servlet-name> <jsp-file>/index.jsp</jsp-file> <init-param> <param-name>nome</param-name> <param-value>alessandro</param-value> </init-param > </servlet> </web-app>
web.xml
Exerccio
Tarefa de Sala de aula Crie uma aplicao web para os cdigos desta aula. Refaa a lista de exerccios passada no 1 Bimestre com JSPs. Tarefa de casa
16