JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em...

25
JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em http://br.geocities.com/glauciobianchini E-Mail : [email protected]

Transcript of JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em...

Page 1: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

JSP

Segundo Semestre – 2008Professor Glaucio Bianchini

Material em http://br.geocities.com/glauciobianchiniE-Mail : [email protected]

Page 2: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

O Ambiente de Desenvolvimento

• Conceito Apache/Tomcat O software Tomcat, desenvolvido pela Fundação

Apache, permite a execução de aplicações para web. Sua principal característica técnica é estar centrada na linguagem de programação Java, mais especificamente nas tecnologias de Servlets e de Java Server Pages (JSP). Esta abordagem rivaliza, por exemplo, com a usada pela Microsoft com o ASP (baseada na linguagem Visual Basic).

Page 3: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

A Fundação Apache, mais conhecida pelo seu servidor

web de mesmo nome, permite, como no caso do servidor Apache, que o Tomcat seja usado livremente, seja para fins comerciais ou não.

O Tomcat está escrito em Java e, por isso, necessita que a versão Java 2 Standard Edition (J2SE) esteja instalada no mesmo computador onde ele será executado. No entanto, não basta ter a versão runtime de Java instalada, pois o Tomcat necessita compilar (e não apenas executar) programas escritos em Java. O projeto Jakarta da Fundação Apache, do qual o subprojeto Tomcat é o representante mais ilustre, tem como objetivo o desenvolvimento de soluções código aberto baseadas na plataforma Java.

Page 4: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

• O desenvolvimento de uma típica aplicação web a ser executada pelo Tomcat implica no domínio das seguintes linguagens:

• Java • Todos os algoritmos da aplicação devem ser escritos em Java. • HTML • A interface da aplicação, isto é, aquilo que o usuário vê em sua tela,

é construída na forma de páginas escritas em HTML e visualizadas através do browser do usuário. Esta tarefa normalmente é delegada ao web designer.

• XML • Qualquer aspecto relacionado à configuração da aplicação deve ser

expresso por meio da linguagem XML em um arquivo chamado web.xml. Os dados de configuração podem ser usados tanto pelo Tomcat como pela aplicação.

Page 5: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

Instalação do Ambiente e Funcionalidade da JSP

• Abaixo segue uma relação dos endereços web onde poderemos encontrar os arquivos que utilizaremos neste semestre:

• J2SE = http://java.sun.com/j2se/1.5

• NetBeans = http://www.netbeans.org

• J2EE = http://java.sun.com/j2ee/1.4

Page 6: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

Funcionamento da JSP

• Nasceu para simplificar a criação de páginas WEB Dinâmicas, assim como o PHP visto anteriormente;

• Também como no PHP, o cliente faz uma requisição da página através de uma página em JSP que também será processada pelo SERVIDOR.

• Se for a primeira vez, esta página JSP é transformada em um programa JAVA (chamado de SERVLET) que será compilado e vai gerar um bytecode (chamado de .class), e só a partir deste será gerada uma página HTML que será enviada ao browser do cliente. A partir da segunda vez que esta página é acessada só será verificado se houveram mudanças ou não. Se não houveram mudanças, o bytecode é chamado para gerar o HTML somente.

Page 7: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

• A JSP se utiliza da linguagem JAVA como base, tornando-se assim uma linguagem muito mais flexível e robusta que outras plataformas.

Page 8: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

Passos da Instalação dos programas

• Passo 1 – Instalando J2SE 5.0 – é o ambiente JAVA, ele quem irá compilar nossas páginas JSP. Faça o download em http://java.sun.com/j2se/1.5 . Localize nesta página o download do JDK 5.0 e não pegue a versão que tenha o NETBEANS integrado, usaremos um NETBEANS diferente. A instalação não requer nenhum segredo, siga a instalação padrão.

Page 9: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

• Passo 2 – Instalando a J2EE 1.4 – Para aplicações distribuídas necessitamos do Application Server. Utilizaremos Sun Java System Application Server Platform Edition 8. Pode ser encontrado em http://java.sun.com/j2ee/1.4. Basta seguir a instalação padrão e quando chegar na janela onde se pede usuário e senha, criaremos um usuário e senha padrões para podermos trabalhar. Crie usuário ADMIN e senha ADMINADMIN.

Page 10: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

• Passo 3 – Um editor gratuíto muito bom – vá até o site http://www.download.com/NetBeans-IDE/3000-2212_4-10628055.html?tag=lst-0-1 e baixe o netbeans IDE, é a última versão.

Page 11: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

• Passo 4 – Baixe e instale o TOMCAT, que pode ser encontrado em http://tomcat.apache.org , pegue a versão 5.x, depois clique em Windows Service Installer. Siga a instalação padrão, e quando for criar usuário e senha, também crie como admin (usuário) e adminadmin(senha).

Page 12: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

• Passo 5 – Testando a Configuração - Reinicie seu computador e execute o NetBeans. Crie uma pasta em seu computador chamada de projetos por exemplo, onde colocaremos todos nossos projetos.

• De volta no NetBeans, no menu principal, execute File, New Project, em Categories selecione WEB e do lado de Projects, selecione WEB APPLICATION. Pressione o botão Next em seguida.

• Em Project Name, digite testeWeb, clique no botão BROWSE e selecione sua pasta criada de projetos.

• Deixe Source Structure como padrão para Java BluePrints, context path será o nome do seu projeto seguido de barra, ex : /testeWeb . Em server, colocaremos o TOMCAT que será o utilizado por nós e por último a versão do J2EE, se queremos a versão 1.4 ou 1.3

• Clique em FINISH e deixe o NetBeans criar a estrutura do projeto. Será montado um arquivo padrão chamado index.jsp

Page 13: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

• Acesse: http://localhost:8080 ou http://127.0.0.1:8080, aparecerá uma tela de administração do sistema.

Page 14: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

Exemplo de um SERVLET

• package web;

• import java.io.*;• import javax.servlet.*;

• public class PrimeiroServlet extends GenericServlet {• public void service(ServletRequest req, ServletResponse res)• throws IOException, ServletException {• res.setContentType("text/html");• PrintWriter out = res.getWriter();• out.println("<html>");• out.println("<head>");• out.println("<title>Meu Primeiro Servlet</title>");• out.println("</head>");• out.println("<body>");• out.println("Teste do meu primeiro servlet!");• out.println("</body>");• out.println(“</html>”);• }• }

Page 15: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

Compilando o SERVLET

• Como podemos ver no código anterior, o nosso PrimeiroServlet nada mais é do que uma classe

Java que estende a classejavax.servlet.GenericServlet. GenericServlet é uma classe abstrata básica que implementa a interface javax.servlet.Servlet e define o método abstrato service( ),

que deve ser implementado por suas subclasses, para definir o código de execução do serviço do servlet.

Page 16: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

• Para compilarmos o código, precisamos incluir no classpath o arquivo servlet-api.jar que fica no

diretório TOMCAT\common\lib\. Uma vez incluído, agora sim podemos compilar o código.

• javac -classpath C:\jakarta-tomcat-5.0.16\common\lib\servlet-api.jar web\PrimeiroServlet.java

• Um arquivo .class será gerado normalmente, como em qualquer classe java compilada.

Page 17: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

Configurando o SERVLET

• Agora que já temos a classe servlet compilada, podemos colocar o servlet pra funcionar no servidor web. A esta tarefa, damos o nome de deploy.

• O deploy se dá da seguinte maneira: primeiro devemos criar um diretório com o nome da nossa aplicação, por exemplo curso. Este diretório deve ficar dentro do diretório TOMCAT\webapps\.

• Cada diretório dentro de webapps é um aplicativo web diferente. Um aplicativo pode conter dezenas de Servlets e outros recursos, como JSP, HTML, etc. Os recursos como JSP, HTML,

imagens e outros ficam localizados na pasta raiz do aplicativo ou em sub-pastas. Dentro do diretório curso devemos criar outros diretórios, seguindo a estrutura abaixo:

Page 18: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

O diretório WEB-INF vai conter os arquivos de configuração da sua aplicação e os arquivos de deploy. O diretório classes deve conter asclasses do seu aplicativo. No diretório lib vão os jars (libs) da sua aplicação. As suas classes, ao invés de desagrupadas, poderiam estar empacotadas em um jar e ir neste diretório também. Os arquivos comoimagens, HTML e outros devem ir no diretório raiz, curso.

Tendo colocado o arquivo PrimeiroServlet.class, dentro de curso\classes\web\, agora devemos criar um arquivo de configuração para ele, o chamado deployment descriptor, ou apenas web.xml. O arquivo web.xml é um xml que descreve as configurações de cada aplicação web do Web Container, e contém informações dos Servlets da aplicação e outras configurações. Ele deve ser criado no diretório WEB-INF.

Page 19: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

O Arquivo web.xml

• O arquivo web.xml serve como um descritor das funcionalidades e caracteristicas da sua aplicação. Ele é um arquivo XML descrevendo os Servlets, JSPs (que nada são alem de Servlets), EJBs e outros componentes que fazem parte da sua aplicação. Alem disso, fornece parametros de inicialização e controles de segurança para o container (os quais você deseja que o servidor reforce) e tambem para sua aplicação.

Enfim, o web.xml é um documento que define tudo que o servidor precisa conhecer sobre sua aplicação. Exceto, claro, o caminho do contexto (context path) o qual é definido pelo adminstrador do sistema (no arquivo TOMCAT_HOME/conf/server.xml) quando a aplicação for divulgada.

Page 20: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

• Os arquivos XML também são marcados por tags. Essa tags podem ser definidas por você

mesmo, e não apenas usarem tags pré-definidas, como no HTML. As tags definem a

estruturação dos dados. O arquivo web.xml dever ser escrito usando as tags já definidas pela especificação dos Servlets da J2EE.

Page 21: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

• <?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>• <description>Aplicação do Curso de Java</description>• <display-name>Curso de Java</display-name>

• <servlet>• <servlet-name>PrimeiroServlet</servlet-name>• <servlet-class>web.PrimeiroServlet</servlet-class>• </servlet>

• <servlet-mapping>• <servlet-name>PrimeiroServlet</servlet-name>• <url-pattern>/PrimeiroServlet</url-pattern>• </servlet-mapping>

• </web-app>

Page 22: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

Executando o SERVLET

• Finalmente podemos executar o nosso Primeiro Servlet, que apenas vai gerar uma simples mensagem na tela do navegador.

• Após termos configurado o web.xml e disponibilizado os arquivos corretamente, devemos reiniciar o Tomcat.

• Agora, então, podemos chamar, ou solicitar, o nosso Primeiro Servlet. Para isso, abra um

navegador e digite a seguinte URL:• http://localhost:8080/curso/PrimeiroServlet

Page 23: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

Tags de Diretivas

• São utilizadas para enviar informações especiais sobre a página JSP quando esta for transformada em um servlet. São divididas em três tipos :

• @include = utilizada para incorporar os códigos de um arquivo padrão (HTML,JSP,TXT) na página corrente;

• @page = traz informações sobre a página JSP como tipo, as bibliotecas que serão importadas, a linguagem da página e etc.;

• @taglib = serve para habilitar uma biblioteca de tags personalizadas.

• Sintaxe : <%@ %>

Page 24: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

Elementos de Criação de Scripts

• Tags de Declaração e Tags de Expressão = usadas para definir atributos ou métodos. São úteis quando testamos um código que futuramente se tornará um bean. É uma tag Java pura.

• Sintaxe = <%! %> - para Tags Declaração

• Sintaxe = <%= %> - para Tags de Expressão

Page 25: JSP Segundo Semestre – 2008 Professor Glaucio Bianchini Material em //br.geocities.com/glauciobianchini E-Mail.

• Tags de Scriplets = utilizadas para escrever trechos de código Java dentro da página JSP. Serve para otimizar a linguagem HTML padrão, mesclando os dois ambientes.

• Sintaxe = <% %>• Tags de Comentário = utilizadas pelo

desenvolvedor para documentar determinados trechos de código, não serão enviadas para o arquivo final.

• Sintaxe = <jsp: />