Chapter 2 Understanding JSP Pages

6
Chapter 2 Understanding JSP pages 2.1 WHAT IS A JSP PAGE? 2.1 que é uma página JSP? A página JSP é uma página web que contém código Java, juntamente com as tags HTML. Como qualquer outra página Web, uma página JSP tem uma URL única, que é usado pelos clientes para acessar a página. Quando acessado por um cliente, o código Java dentro da página é executado no lado do servidor, a produção de dados textuais. Estes dados, que está rodeado por etiquetas HTML, é enviado como uma página HTML normal ao cliente. Desde que o código Java embutido em uma página JSP é processado no lado do servidor, o cliente não tem conhecimento do código. O código é substituído pelo código HTML gerada pelo código Java antes de ser enviada para o cliente. Antes de discutir como criar páginas JSP, vamos discutir a necessidade de uma tal tecnologia. 2.1.1 Server-side includes HTML é uma linguagem de marcação que especifica como rotular diferentes partes de dados para apresentação visual. Os hiperlinks fornecem uma maneira de saltar de uma peça de informação para outro. No entanto, o conteúdo já está dentro das tags HTML. As tags não criá-la; eles simplesmente decorá-lo para a apresentação. HTML por si só produz páginas estáticas, mas hoje, é necessário que a maioria dos sites de ter conteúdo dinâmico. Para gerar o conteúdo de forma dinâmica, precisamos de algo que pode nos permitir especificar a lógica de negócios e que pode gerar dados em resposta a um pedido. Os dados podem então ser formatado usando HTML. Uma página web dinâmica consiste de código linguagem de marcação, bem como código de linguagem de programação. Em vez de servir a página como é para os clientes, um servidor processa o código de linguagem de programação, substitui o código com os dados gerados pelo código, e, em seguida, envia a página para o cliente. Esta metodologia de incorporação de linguagens de programação HTML é chamado dentro do lado do servidor a incluir e a linguagem de programação que está incorporado dentro do HTML é chamado de linguagem de script. Por exemplo, do lado do servidor da Netscape JavaScript (SSJS) e do Microsoft Active Server Pages (ASP) são exemplos de server-side includes. Eles usam JavaScript e VBScript, respectivamente, como as linguagens de script. JavaServer Pages é o nome da tecnologia que fornece uma especificação padrão para combinar Java como a linguagem de script com HTML. Ele forma a camada de apresentação da arquitetura do Sun Java 2 Enterprise Edition (J2EE). A especificação JSP lista a sintaxe e descreve semântica dos vários elementos que compõem uma página JSP. Estes elementos são chamados de tags JSP. Assim, uma página JSP é um modelo HTML composta de tags JSP ativos misturados e tags HTML passivos. Durante a execução, o modelo é utilizado para gerar uma página HTML pura, que é enviado para o cliente.

description

SCWCD Exam Study Kit, 2nd EditionCapítulo 2 Português

Transcript of Chapter 2 Understanding JSP Pages

Page 1: Chapter 2 Understanding JSP Pages

Chapter 2 Understanding JSP pages

2.1 WHAT IS A JSP PAGE?

2.1 que é uma página JSP?

A página JSP é uma página web que contém código Java, juntamente com as tags HTML. Como qualquer outra página Web, uma página JSP tem uma URL única, que é usado pelos clientes para acessar a página. Quando acessado por um cliente, o código Java dentro da página é executado no lado do servidor, a produção de dados textuais. Estes dados, que está rodeado por etiquetas HTML, é enviado como uma página HTML normal ao cliente. Desde que o código Java embutido em uma página JSP é processado no lado do servidor, o cliente não tem conhecimento do código. O código é substituído pelo código HTML gerada pelo código Java antes de ser enviada para o cliente. Antes de discutir como criar páginas JSP, vamos discutir a necessidade de uma tal tecnologia.

2.1.1 Server-side includes

HTML é uma linguagem de marcação que especifica como rotular diferentes partes de dados para apresentação visual. Os hiperlinks fornecem uma maneira de saltar de uma peça de informação para outro. No entanto, o conteúdo já está dentro das tags HTML. As tags não criá-la; eles simplesmente decorá-lo para a apresentação. HTML por si só produz páginas estáticas, mas hoje, é necessário que a maioria dos sites de ter conteúdo dinâmico. Para gerar o conteúdo de forma dinâmica, precisamos de algo que pode nos permitir especificar a lógica de negócios e que pode gerar dados em resposta a um pedido. Os dados podem então ser formatado usando HTML.

Uma página web dinâmica consiste de código linguagem de marcação, bem como código de linguagem de programação. Em vez de servir a página como é para os clientes, um servidor processa o código de linguagem de programação, substitui o código com os dados gerados pelo código, e, em seguida, envia a página para o cliente. Esta metodologia de incorporação de linguagens de programação HTML é chamado dentro do lado do servidor a incluir e a linguagem de programação que está incorporado dentro do HTML é chamado de linguagem de script. Por exemplo, do lado do servidor da Netscape JavaScript (SSJS) e do Microsoft Active Server Pages (ASP) são exemplos de server-side includes. Eles usam JavaScript e VBScript, respectivamente, como as linguagens de script. JavaServer Pages é o nome da tecnologia que fornece uma especificação padrão para combinar Java como a linguagem de script com HTML. Ele forma a camada de apresentação da arquitetura do Sun Java 2 Enterprise Edition (J2EE).

A especificação JSP lista a sintaxe e descreve semântica dos vários elementos que compõem uma página JSP. Estes elementos são chamados de tags JSP. Assim, uma página JSP é um modelo HTML composta de tags JSP ativos misturados e tags HTML passivos. Durante a execução, o modelo é utilizado para gerar uma página HTML pura, que é enviado para o cliente.

2.2 HELLO USER

Para ver os benefícios de JSP, vamos olhar para o exemplo a seguir. Escrevemos três vezes: primeiro como uma página HTML, em seguida, como um servlet, e, finalmente, como uma página JSP. O objetivo do exemplo é para cumprimentar os visitantes para uma página web com a palavra Olá.

2.2.1 The HTML code

<html>

<body>

<h3>Hello User</h3>

</body>

</html>

Page 2: Chapter 2 Understanding JSP Pages

Quando acessado com a URL http: //localhost/chapter02/Hello.html, o código na listagem 2.1imprime Olá Usuário. No entanto, uma vez que HTML é estático, não pode imprimir o nome do usuário. Por exemplo, a impressão Olá John ou Mary Olá (dependendo da entrada do usuário) não é possível quando se usa uma página HTML puro. Ele irá imprimir as mesmas duas palavras-Olá User-independentemente do usuário.

2.2.2 The servlet code

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class HelloServlet extends HttpServlet

{

public void service(HttpServletRequest request,

HttpServletResponse response)

throws ServletException,

IOException

{

String userName = request.getParameter("userName");

PrintWriter pw = response.getWriter();

pw.println("<html>");

pw.println("<head>");

pw.println("</head>");

pw.println("<body>");

pw.println("<h3>Hello " + userName + "</h3>");

pw.println("</body>");

pw.println("</html>");

}

}

Quando acessado com a URL http: // localhost / Chapter02 / servlet / HelloServlet username = John, o código na listagem 2.2 imprime Olá John O nome do usuário é passado para o servlet como parte da URL. O método service() envia de volta para o browser como parte do HTML gerado.

2.2.3 The JSP code

<html>

<body>

<h3>Hello ${param.userName} </h3>

</body>

Page 3: Chapter 2 Understanding JSP Pages

</html>

Quando acessado com a URL http: //localhost/chapter02/Hello.jsp?username = John, o código na listagem 2.3 imprime Olá John. Mais uma vez, o nome do usuário é passado para a página JSP como parte da URL. Como você pode ver a partir deste exemplo, uma página JSP contém tags HTML padrão. ao contrário servlets, que não envolve a escrita explícita e compilação de uma classe Java pela página do autor. O que lhe dá o poder de gerar dinamicamente a saudação é a pequena quantidade de código JSP fechado dentro dos caracteres $ {e}.

2.3 SERVLET OR JSP?

Bem, se servlets pode fazer o que as páginas JSP pode, e vice-versa, o que é a diferença entre eles? E se as páginas JSP são tão fáceis de escrever, por que se preocupar aprender sobre servlets?

Você deve se lembrar do primeiro capítulo que servlets são extensões de servidor e fornecem funcionalidade extra para o servidor principal. Isso poderia incluir a implementação de serviços especializados, tais como autenticação, autorização, validação de banco de dados, e gerenciamento de transações. Servlets agem como componentes do controlador que controlam a lógica de negócios. Eles são desenvolvidos por programadores de Java com fortes habilidades de programação orientada a objeto.

Por outro lado, JavaServer Pages são páginas da web. Eles são semelhantes em estrutura para páginas HTML em tempo de design. Qualquer designer da página web que tenha algum conhecimento de tags JSP e os conceitos básicos de Java pode escrever páginas JSP.

Aplicações Web normalmente consistem em uma combinação de servlets e páginas JSP. Um processo de autenticação do usuário que aceita login e senha é um bom exemplo. O código que gera as mensagens de formulário HTML, êxito e de erro, e assim por diante deve estar em uma página JSP, enquanto o código que acessa o banco de dados, valida a senha e autentica o usuário deve estar em um servlet.

Mantenha estas convenções em mente:

• páginas JSP são destinadas para apresentação visual.

• A lógica de negócios é diferido para servlets.

2.4 JSP ARCHITECTURE MODELS

Os tutoriais JSP da Sun descrevem duas abordagens de arquitectura para a construção de aplicações utilizando a tecnologia JSP e servlet. Essas abordagens são chamados JSP Modelo 1 e JSP Modelo 2 arquiteturas. A diferença entre os dois está na maneira de lidar com os pedidos.

2.4.1 The Model 1 architecture

No Modelo 1 arquitetura, a meta de cada solicitação é uma página JSP. Esta página é totalmente responsável por fazer todas as tarefas necessárias para o cumprimento do pedido. Isto inclui a autenticação do cliente, usando JavaBeans para aceder aos dados, gerir o estado do utilizador, e assim por diante. Esta arquitectura é ilustrada na figura 2.1.

Como você pode ver na figura 2.1, não há nenhum componente central que controla o fluxo de trabalho do aplicativo. Esta arquitetura é adequado para aplicações simples. No entanto, ele tem alguns inconvenientes graves que limitam a sua utilização para aplicações complexas. Primeiro, exige a incorporação de lógica de negócios usando grandes pedaços de código Java na página JSP.

Page 4: Chapter 2 Understanding JSP Pages

Isso cria um problema para os designers de páginas web que normalmente não estão confortáveis com a programação do lado do servidor. Em segundo lugar, esta abordagem não promover a reutilização de componentes de aplicação. Por exemplo, o código escrito em uma página JSP para a autenticação de um usuário não pode ser reutilizado em outras páginas JSP.

2.4.2 The Model 2 architecture

Esta arquitetura segue o padrão de design Model-View-Controller (MVC) (que discutiremos no capítulo 18, "Os padrões de design."). Nesta arquitetura, as metas de todos os pedidos são servlets que atuam como o controlador para a aplicação. Eles analisam o pedido e recolher os dados necessários para gerar uma resposta em objetos JavaBeans, que atuam como o modelo para a aplicação. Finalmente, os servlets controlador despachar o pedido de páginas JSP. Estas páginas utilizam os dados armazenados nos JavaBeans para gerar uma resposta. Assim, as páginas JSP formam o ponto de vista da aplicação. Figura 2.2 ilustra essa arquitetura.

A maior vantagem deste modelo é a facilidade de manutenção que resulta da separação de responsabilidades. O Controlador apresenta um único ponto de entrada para o aplicativo, proporcionando um meio mais limpo de implementação de segurança e gerenciamento de estado; estes componentes podem ser reutilizados, conforme necessário. Então, dependendo do pedido do cliente, o controlador encaminha o pedido para o componente de apresentação adequada, que por sua vez responde ao cliente. Isso ajuda os designers de páginas web, permitindo-lhes trabalhar apenas com a apresentação dos dados, uma vez que as páginas JSP não necessitam de qualquer lógica de negócios complexos. Desta forma, resolve satisfatoriamente os problemas associados com a arquitectura do modelo 1.

2.5 A NOTE ABOUT JSP SYNTAX

Page 5: Chapter 2 Understanding JSP Pages

Desde que este livro é especificamente destinado para o exame SCWCD, seus capítulos são projetados de acordo com os objetivos do exame especificados pela Sun. Os elementos de sintaxe JSP estão distribuídos em várias seções na especificação do exame, e, portanto, temos espalhar as explicações dos elementos ao longo de vários capítulos do livro. Tabela 2.1 contém todos os elementos JSP e aponta quais deles são abordados no exame e quais não são. Ele também documentos nos quais seções Objetivo do exame desses elementos são abordados e onde você pode encontrar explicações neste livro.

2.6 SUMMARY

Neste capítulo, nós aprendemos sobre os conceitos básicos de tecnologia JavaServer Pages e do lado do servidor inclui. Nós comparamos brevemente páginas JSP para servlets e discutido quando é apropriado para usar um ou o outro. Também discutimos os dois modelos de arquitetura JSP e como eles diferem em seu processo de tratamento de solicitação.