Pesquisar este blog

sexta-feira, 18 de fevereiro de 2011

Comparando ASP.NEt e JSP

Se criarmos uma aplicação ASP.NET para fazermos o cálculo deo IMC teremos dois arquivos; um arquivo com extensão apsx, que cuida da interface da página, e um arquivo com extensão aspx.cs, que cuida da lógica da aplicação;

Figura 1- IMC no ASP.NET

Cujo código será :


Figura 2_ Código do arquivo aspx.


Já o código do arquivo apsx.cs será:
 




Figura 3 - Código do arquivo aspx.cs - responsável pela lógica

Agora adivinha como é o codigo enviado para o programa cliente:

Figura 4 - Código e enviado ao browser

quarta-feira, 16 de fevereiro de 2011

Como o Servlet conversa com o JavaBeans?

O servlet para conversar com o JavaBean cria uma instância da classe JavaBean, ou dizendo em outras palavras, cria uma variável do tipo ImcBean no nosso exemplo, veja como fica  a linha de código correspondente;

ImcBean meuBean=new ImcBean( );

Esta linha de código cria a variável meuBean do tipo ImcBean.
O sinal de igual atribui a essa variável uma instância da classe ImcBean, para isto faz uso da expressão

new ImcBean();

onde new é operador que cria instâncias e ImcBean é o método construtor que chamado. Quando o método construtor é executado, ele devolve uma instância da classe ImcBean.
Note que o método construtor citado não aparece na classe, veja o código no item anterior.

Método construtor - O método cosntrutor é o método que tem o mesmo nome da classe. No exemplo a classe é ImcBean, portanto o método construtor também é ImcBean. Note que métodos como IMCBean ou Imcbean não são métodos construtores porque a linguagem diferencia maiúsculas de minúsculas.

Método Construtor padrão - é o método cosntrutor que não recebe argumento algum, ou seja não há nada dentro dos parentêsis, como em
        ImcBean meuBean= new ImcBean();

Método Construtor padrão ímplicito - se o programador não cria o construtor padrão, a linguagem Java interpreta que deve usar o método padrão ímplicito, ou seja não precisa nenhum código, basta chamá-lo na hora de criar instância da classe.

O NetBeans e geração automática de códigos

Quando criamos uma classe JavaBean devemos de preferência colocar o termo Bean ao final do nome a classe, isto funciona como um identicador.
Em seguida declaramos como privada as propridades da classe, no nosso exemplo:
private double peso;
private double altura;

Após isto  temos que criar os métodos de acesso e modificadores de cada propriedade. Bom é possível digitar todo o código, mas é mais fácil usar dos recursos do Netbeans de geração automática de código

Figura 1 - Insira código automaticamente

Basta clicar na partem branco da classe para acessar  a Inserção de Código automaticamente.


Figura 2- Escolha o tipo de código a ser inserido
Escolha os métodos Getter e setter ou outro se for o caso.

Figura 3 - Escolha para qual propriedade será gerado o código




Você pode escolher para qual propriedade será gerado os métodos de acesso e modificadores das propriedades.

Uso do this

Quando usamos  o this estamos nos referimos a própria classe, assim no método
Figura 1- Usando o this
NO o trecho de código acima podemos ver que existe duas variáveis peso, uma que foi declarada como privada que pertence a classe e outra que se refere ao que chega como argumento. Para distinguir  uma da outra foi feito uso do this. Assim this.peso recebe como atribuição o valor da variável peso que chega como argumento do método serPeso.

Entretanto se o thsi te confunde, você tem a  alternativa de usar uma forma  como mostrada abaixo:


Figura 2- Sem o uso do this
Onde o argumento recebe um nome diferente, o que faz a mesma coisa que  o código anterior. Fica a sua escolha.
O NetBeans entretanto gera os métodos de acesso e modificadores automaticamente  fazendo uso do this, por isto entenda como funciona  este recurso.




A primeira classe JavaBean

A seguir temos uma classe JavaBean:




Note que as propriedade são privadas, não permite acesso fora da classe,mas os métodos de acesso (getter) e modifiadores(setter) são públicos.


Quais as regras para criar um JavaBean?

A classe JavaBean deve:
  1. Nao herdar de classe alguma, exceto  a classe Object, que é classe raiz de todas classes da Linguagem Java
  2. Declarar  as propriedades como privadas , tal como : private double peso; Uma variável sendo declarada privada não permite o acesso direto por objetos da classe, mas somente através de métodos  de acesso(getter). A modificação do valor da variável também só pode ser feita através de métodos modificadores (setter).
  3. Ter os métodos de acesso- getter para cada propriedade. De forma que para acessar o valor de uma propriedade por exemplo peso, teremos o método getPeso. Note que o get é obrigatório e tem que ser minúsculo. Além disso  o nome da propriedade deve iniciar com letra maiúscula
  4. Ter os métodos modificadores -setter para cada propriedad. De forma que para modificar o valor da propriedade peso, teremos o método setPeso(double peso). Note novamente que o set é obrigatório e tem que ser minúsculo. Além disso o nome da propriedade deve iniciar com letra maiúscula.
  5. Uma classe javaBean pode ter outros métodos que o programador precisar
  6. Uma classe JavaBean deve ser declarada dentro de um pacote.
Para facilitar a vida do programador é comum criar um pacote que serve tanto para o servlet como para  o JavaBeans, embora o servlet não exiga o uso de pacote.

Pacote, para aqueles que não conhecem o termo, significa apenas um nome diferente  para biblioteca, pois um pacote abriga classes semelhantes dentro de uma mesma pasta ou diretório, ou seja agrupa por categoria.

IMC com JavaBean

A aplicação do IMC pode ser feita usando:

  1. A página jsp para o formulário de coleta de dados do usuário da aplicação
  2. O servlet  receber os dados do formulário e passa os  dados e o serviço de cálculo do IMC para o JavaBeans.
  3. O JavaBeans a partir dos dados fornecido pelo Servlet, realiza o cálculo do IMC e devolve os resultados para o Servlet
  4. O servlet de posse dos dados calculado pelo JavaBean constrói a página HTML e envia-a para o cliente.
  5. O cliente com o seu browser, recebe a página HTML e  a renderiza na tela. 

Página JSP, Servlet e JavaBeans

Uma aplicação Web JSP basicamente pode conter três tipos de arquivos:

Arquivo JSP-cria uma página web que é exibida pelo  browser, ou seja corresponde a  visualização ou a interface visual da apalicação. O código envolve  basicamente html e trechos de códigos Java, na forma de scriptlets, declarações, expressões dinâmicas. Os scriplets, expressões dinâmica,  diretivas, declarações são portanto códigos Java, e por isso são colocados entre  tags especiais:

Expressões dinâmicas: <%=expressão dinâmica%>  //Note  a presença do sinal de igual que caracteriza a expressão dinâmica
Declarações <%! Declara métodos e variáveis%> //Note o sinal de exclamação que é marca registrada de uma declaração
Scriplets <% trechos de códigos Javas %>//Note não tem sinal de igual ou exclamação
Diretivas <% @ page ....%> //Note a presença do sinal de arroba @


Arquivo Servlet - com extensão .java, responde as a solicitações feitas ao servidor, não tem parte visual, mas gera como resultado uma página html que é enviada ao cliente(browser). Qual o servlet gera  a página Htl, usa  o out.println("<h1>......</h1>") para gerar linha por linha do código html de uma página. O servlet em geral é responsável por controlar a navegação no site , autenticação de usuários.Todo  código é puro Java,


Arquivo JavaBean  com extensão Java é usado como para acessar o banco de dados, validar dados,enfim trabalha com os dados da aplicação Não gera página html como resultado, mas é usado pelo Servlet ou pela página JSP para tratar os dados da aplicação.

quinta-feira, 3 de fevereiro de 2011

Criação de uma aplicação Web

A primeira aplicação que será criada abordará uma situação simples onde o usuário entra com os dados de peso e altura, e obtém como resultado o valor IMC- Índice de Massa Corporal.

Para isto é necessário criar uma aplicação


Neste momento será aberto uma caixa de diálogo, onde você deve escolher a categoria JavaWeb dentro das categorias de projetos possíveis dentro do NetBeans.


Após criar o projeto, o NetBeans criará toda a estrutura de diretórios necessária para uma aplicação Web  e criará  também uma página inicial com o nome de index.jsp.
Portanto, à semelhança do ambiente Visual Studio para ASP.NET que usa o nome default.aspx, o NetBeans usa o arquivo index.jsp como página inicial do site.


Nesta página é necessário inserir um formulário e dentro desse formulário inserir os elementos necessários:

Assim devemos começar com as tags de formulário;

<form id="f'1" action="#" method="get>


</form>

A tag de form deve identificar o método através do qual os dados do formulário serão enviados.  Este atributo pode assumir dois valores:
  1. get- limitado a 1024 caracteres, sendo que os dados são anexados ao fim da URL, portanto não recomendado para senhas, mas que pode ser útil para para testes.
  2. post -não tem limite no tamanho dos dados a ser enviados, sendo que os dados são anexados ao fm da solicitaçã HTTP.  Recomendados para senhas, posto que não exibe os dados para o usuário  e além disto não apresenta problemas quanto ao tamanho dos dados
Após inserirmos a tag de form, inserimos dentro da mesma a tag de um parágrafo com uma caixa de texto  dentro do mesmo, de forma que ficamos assim:

<form id="f'1" action="#" method="get>
 <p> Peso: <input type="text" id="peso" name="peso" value="76" /> Kilogramas</p>

</form>

A tag de input com o atributo type recebendo o valor text, cria uma caixa de texto com o nome de peso e valor inicial de 76. 
Lembre-se, id é um nome identificador tal qual name, mas name pode ser usado para identificar um grupo de componentes, enquanto que o id é único para cada elemento isolado ou de um grupo. Como exemplo, se temos um grupo de botões radio, o name do grupo será o mesmo para todos botões de radio, mas cada botã de rádio terá o seu próprio id.
O próximo passo é criar  a nova caixa de texto para a altura:
<form id="f'1" action="#" method="get>
 <p> Peso: <input type="text" id="peso" name="peso" value="76" /> Kilogramas</p>
<p> Altura: <input type="text" id="altura" name="altura" value="1.76" /> Metros</p>

</form>

Nesta parte, vale observar que o Java usa o ponto no lugar da vírgula.

O próximo passo é inseri dois botões:
  1. Botão de reset: que ao ser pressionado volta os campos ao valores iniciais. Leia com atenção, não limpa os campos, como se poderia pensar, mas volta os campos aos valores iniciais.
  2. Botão de submit: que ao ser pressionado envia os dados do formulário para o valor do atributo action da tag form, utilizando o método definido no atributo method  da tag form.
<form id="f'1" action="#" method="get>
 <p> Peso: <input type="text" id="peso" name="peso" value="76" /> Kilogramas</p>
<p> Altura: <input type="text" id="altura" name="altura" value="1.76" /> Metros</p>
 <p> <input type="reset" id="btn1"> <input type="submit" id="btn2" /> </p>
</form>

Partes de uma aplicação WEB

O NetBeans disponibiliza tudo o que você precisa para criar uma aplicação Web para a tecnologia JSP.
Uma aplicação Web pode ter três tipos de arquivos:

  1. Páginas Web: com extensão jsp
  2. Servlet: com extensão java
  3. JavaBeans: com extensão java
Páginas Web

Representa a camada de apresentação de uma aplicação Web. São responsáveis pela interface com o usuário. É nela que são colocados os botões, caixas de textos, etc.
Seu arquivo contém basicamente código HTML misturado com código Java.
O código Java é identificado pela presença dos caracteres <%.......%>, ou seja tudo que estiver escrito entre esses caracteres, trata-se de código java.

Servlet

É um componente do lado servidor que gera dados HTML e XML para a camada de apresentação de um aplicativo Web. É basicamente uma classe na linguagem de programação Java que  processa dinamicamente requisições e respostas, proporcionando dessa maneira novos recursos aos servidores.

JavaBeans

JavaBeans são componentes de software escritos na linguagem de programação Java. Praticamente são classes escritas de acordo com uma convenção em particular. Em poucas palavas, JavaBeans é uma forma dinâmica de manipular arquivos em Java através de páginas JSP sem misturar com HTML.


Arquivos de uma Aplicação Web

O NetBeans disponibiliza tudo o que você precisa para criar uma aplicação Web para a tecnologia JSP.
Uma aplicação Web pode ter três tipos de arquivos:

  1. Páginas Web: com extensão jsp
  2. Servlet: com extensão java
  3. JavaBeans: com extensão java
Páginas Web

Representa a camada de apresentação de uma aplicação Web. São responsáveis pela interface com o usuário. É nela que são colocados os botões, caixas de textos, etc.
Seu arquivo contém basicamente código HTML misturado com código Java.
O código Java é identificado pela presença dos caracteres <%.......%>, ou seja tudo que estiver escrito entre esses caracteres, trata-se de código java.

Servlet

É um componente do lado servidor que gera dados HTML e XML para a camada de apresentação de um aplicativo Web. É basicamente uma classe na linguagem de programação Java que  processa dinamicamente requisições e respostas, proporcionando dessa maneira novos recursos aos servidores.

JavaBeans

JavaBeans são componentes de software escritos na linguagem de programação Java. Praticamente são classes escritas de acordo com uma convenção em particular. Em poucas palavas, JavaBeans é uma forma dinâmica de manipular arquivos em Java através de páginas JSP sem misturar com HTML.