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.