pps - apresentaçåo - Dei-Isep

Propaganda
JSP e Servlets
ISEP – LP2
Filipe Costa – 1020525
2003/2004
Introdução



JSP (JavaServer Pages) permite tal como PHP,
ASP e ColdFusion o desenvolvimento de páginas
dinâmicas que poderão ser automaticamente
actualizáveis segundo uma base de dados,
ficheiros de texto ou outros meios tal como
outras páginas de Internet;
JSP apareceu como uma extensão da tecnologia
Servlets;
Packages reservados ao JSP:
Package javax.servlet.jsp
Package javax.servlet.jsp.tagext
Funcionamento
1.
2.
4.
6.
É enviado um pedido do
servidor para o cliente do
hello.jsp;
O servidor processa o
pedido. Como tem código
JSP, esse é separado do
código html, e transformado
em ficheiro Servlet.class;
Servlet.class (código JSP) é
compilado e executado no
próprio servidor;
No final o resultado é o html
original com o resultado da
execução do código JSP que
estava no meio do código
html.
JSP vs. Applets



Código JSP é compilado e executado no servidor,
o cliente que visualiza a página.jsp não necessita
de um compilador Java ou JSP ao contrário das
Applets;
As Applets são assim executadas no cliente,
sendo a resposta ao utilizador instantânea
quando esse está carregado;
Applets permitem desenvolvimento gráfico com
awt e swing, ao contrário JSP não o permite pelo
motivo acima e por ser executado como html.
JSP vs. Servlets



O JSP pode conter elementos html ou não, o
Servlet terá de ter apenas código Java/JSP;
Usar Servlets é conveniente para servir de apoio
a um ficheiro JSP (principal) e não para ser
ficheiro principal pois para cada linha html que se
pretenda introduzir terá de se fazer
System.out.println, tornando o código pesado e
ilegivel;
Normalmente todos os servidores que suportam
JSP suportam também Servlets.
Exemplo de JSP
<html>
<head>
<title>JSP page
</title>
</head>
<body>
<%@ page language="java" %>
<% System.out.println("Hello World"); %>
</body>
</html>
JavaBeans

Para a reutilização de código eficaz foram criados
os JavaBeans que mais não são do que classes de
Java com determinadas regras:



Deve existir um construtor público e sem parâmetros;
Nenhum atributo pode ser público;
Os atributos são acedidos através de métodos públicos
setXxx, getXxx e isXxx.
Exemplo de JavaBean
class Hora
{
private int hora, minuto, segundos;
public Hora()
{
hora = minuto = 0;
}
public int getSegundos()
{
return hora*3600+60*minuto;
}
public void setSegundos(int s)
{
segundo=s;
}
}
Sessões




1
Possibilitam que se salve em cookies informações
relativamente ao utilizador;
Permite que o site disponibilize conteúdos
personalizáveis, que armazene objectos e
variáveis como passwords e usernames;
Os cookies são codificados o que possibilita um
uso com alguma segurança da informação;
O site JSP tenta abrir sessão, se existir o cookie
correspondente ele retoma as informações lá
armazenadas disponibilizando-as para o servidor.
Sessões

O uso de Sessões é efectuado por defeito no JSP
(ao contrário do PHP onde é necessário definir) e
como tal é simples armazenar qualquer
informação em sessão:
<%
Foo foo = new Foo();
session.putValue("foo",foo);
%>

2
Retornar o valor da sessão:
<%
Foo myFoo = (Foo) session.getValue("foo");
%>
Conclusão

1
Vantagens:




Possibilita a fácil reutilização de código com a utilização
de classes, JavaBeans etc. possuindo todas as
vantagens de uma linguagem orientada por objectos;
Sendo Java uma linguagem corrida por cima de uma
Máquina Virtual, torna-se mais fácil a adaptação da
linguagem aos mais diversos sistemas;
Fácil implementação de sessões;
Fácil de usar para quem já tem noções de Java.
Conclusão

2
Desvantagens:



Pouca flexibilidade a nível formal;
A implementação deste tipo de tecnologia é pouco
divulgada não existindo tantos servidores JSP como ASP
ou PHP;
Apesar da linguagem orientada por objectos ser
bastante útil em aplicações, em Server Pages perde um
pouco o sentido pois normalmente são aplicações muito
simples que não necessitam necessariamente o uso
deste tipo de linguagens, favorecendo o uso de PHP que
é mais facilitado em aspectos como declarações de
variáveis e o seu uso muito mais flexível.
Fim
Download