domingo, 12 de janeiro de 2014

JavaBeans



É um componente (classe) reutilizavel que quando chamada de um JSP ou ServLet segue certas regras:
1-    implementa a interface java.io.Serializable (que possibilita a persistência e restauração do estado do objeto da classe)
2-    possui um construtor sem argumentos;
3-    Suas propriedades sao acessíveis através de métodos "get" e "set", seguindo um padrão de nomenclatura
4-    Contem qualquer método de tratamento de eventos.
OBS: Em JSP, JavaBeans são usados para armazenar valores informados em um formulário, manter dados em sessão, recuperar e guardar informações de um banco de dados, etc. Em resumo, um JavaBean é uma classe Java a partir da qual nós podemos instanciar um objeto e usá-lo para passar informações entre as diversas páginas que compoêm uma aplicação web escrita em JSP.
Para incluir um bean dentro de um JSP usa-se:
<jsp:useBean id=”id_do_bean” class=”classe_do_bean” scope=”tipo_de_escopo”>
Tipo de escopopage (termina quando a pagina termina de gerar resposta), request (termina quando a resposta e enviada), session (quando a sessão e destruida), application. (quando aplicação web e destruida).

WEB-INF
            Classes           Serão colocados os arquivos .class (Servlets)
            Lib                   Serão colocados os arquivos .jar     (Beans)
Um beans pode estar em WEB-INF/lib/bean.jar, ou em WEB-INF/classes/package/bean.class.
C:\jboss-3.0.8_tomcat-4.1.24\server\default\deploy\teste.war\WEB-INF\lib\testeBean.jar
C:\jboss-3.0.8_tomcat-4.1.24\server\default\deploy\teste.war\WEB-INF\classes\testeBean\TesteBean.class.
jar cvfm [nome do jar][mf][class]
jar cvf [nome do jar][class]
Observação importante:
1-    Podemos criar um diretório por exemplo teste.war no webapps e tudo que colocarmos la será atualizado, ele funcionaria como um jar.


Modelo JavaBean:
package jbean;
import java.io.*;
public class bean_modelo implements Serializable
{
            private String nome;      
            public bean_modelo(){
            }         
            public void setNome(String nome){
                        this.nome= nome;
            }         
            public String getNome(){
                        return nome;
            }
}
obs. Para se acessar .jar em /lib e necessario definer o web.xml
ex.
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"               xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
            <display-name>Desenvolvimento</display-name>
            <description>
                        Descritor do contexto de desenvolvimento.
           
</description>
            <servlet>
                        <servlet-name>dev-invoker</servlet-name>
                        <servlet-class>
                                   org.apache.catalina.servlets.InvokerServlet
                        </servlet-class>
                        <init-param>
                                   <param-name>debug</param-name>
                                   <param-value>0</param-value>
                        </init-param>
                        <load-on-startup>2</load-on-startup>
            </servlet>
            <servlet-mapping>
                        <servlet-name>dev-invoker</servlet-name>
                        <url-pattern>/servlet/*</url-pattern>
            </servlet-mapping>
</web-app>

Um package Java é um mecanismo para agrupar classes de finalidades afins ou de uma mesma aplicação. Além de facilitar a organização conceitual das classes, o mecanismo de pacotes permite localizar cada classe necessária durante a execução da aplicação. No entanto, a principal funcionalidade de um pacote Java é evitar a explosão do espaço de nome, ou seja, classes com o mesmo nome em pacotes diferentes podem ser diferenciadas pelo nome completo, pacote.classe.



A ferramenta jar é uma aplicação que combina múltiplos arquivos dentro de um simples arquivo .jar.
Arquivos .jar são geralmente usados para agrupar todos os arquivos de uma determinada aplicação Java. Pode também ser um arquivo executável.

Passo 1 Crie as classes
package pacoteJar;



public class Principal {
               public static void main(String[ ] args) {
                               new criarFrame();
               }
}
package pacoteJar;
import javax.swing.*;
public class criarFrame extends JFrame {
               public criarFrame() {
                               super(“Frame de exemplo”);
                               setBounds(120,120,250,250);
                               show();
               }
}
 
Passo 2 Crie o arquivo JAR
Para criar um arquivo jar basta apenas que você digite o seguinte comando no console:


>jar cvf classes.jar Foo.class Bar.class

O que esse comando faz é criar um arquivo chamado classes.jar contendo Foo.class e Bar.class. Os parâmetros passados, cvf significam:
-c = Crie um novo arquivo;
-v = Gere um output sobre o que está acontecendo;
-f = Especifique o nome do arquivo.
 
Passo 3 Crie o arquivo de manifesto (manifest.txt)
Pode-se também usar um comando mais "requintado" para inserir um arquivo Manisfest, determinado por você, em seu .jar. Isso porque o comando acima cria um Manifest.mf automaticamente sem configurações mais avançadas. Um arquivo manifest determina o funcionamento do seu jar. Ele é apenas um documento de texto que pode indicar a classe principal da sua aplicação ou outros arquivo necessários para que a sua aplicação funcione. Um exemplo de arquivo Manifest pode ser:
 
Manifest-Version: 1.0
Name: pacoteJar/Principal.class
Java-Bean: True
Main-Class: Principal.Principal    
Created-By: 1.2 (Sun Microsystems Inc.)
 
Name: pacoteJar/criarFrame.class
Java-Bean: True


Note que a ultima linha do Manifest deve estar em branco. O arquivo manifest é geralmente criado com o nome de MANIFEST.MF e, por default, fica num diretório chamado META-INF dentro do jar. O comando para gerar um jar com um manifest epecificado por você é: 

jar cvfm classes.jar mymanifest classes


Nenhum comentário:

Postar um comentário