Páginas

Pesquisar este blog

terça-feira, 21 de setembro de 2010

Mudança de Endereço

Este blog mudou de endereço, clique aqui para ser redirecionado.

quinta-feira, 29 de abril de 2010

Java mon amour: Typical options for a JRA recording


Typical options for a JRA recording

Lenda dos Profissionais de TI

Lenda dos Profissionais de TI

Conta a lenda que quando Deus liberou os conhecimentos das artes entre os homens, determinou que a Tecnologia ficaria restrita a um grupo muito selecionado de sábios, pois entender seus conceitos era uma grande arte! Mas neste pequeno grupo, onde todos se achavam "Semi-Deuses", alguém traiu as determinações divinas… Deus, bravo com a traição, resolveu fazer valer alguns mandamentos para aqueles que escolhessem a tal profissão:

1º – Não terás vida social, familiar ou sentimental.
2º – Não verás teus filhos crescerem.
3º – Não terás feriado, fins de semana ou qualquer outro tipo de folga.
4º – Terás gastrite, se tiveres sorte, se for como os demais, terás úlcera. Às vezes um ou mais enfartos!
5º – A pressa será tua única amiga e as suas refeições principais serão os lanches.
6º – Teus cabelos ficarão brancos antes do tempo, isso se te sobrares cabelos!
7º – Tua sanidade mental será posta em cheque antes que completes 5anos de trabalho.
8º – Dormir será considerado período de folga, logo, não dormirás.
9º – Trabalho será teu assunto preferido, talvez o único!
10º – As pessoas serão divididas em 2 tipos: as que entendem de TI e as que não entendem.
11º – A máquina de café será a tua melhor amiga de trabalho, porém, à cafeína não te farás mais efeito.
12º – Happy Hours serão excelentes oportunidades de ter contato com outras pessoas loucas como você.
13º – Terás sonhos com códigos fonte, bancos de dados e telecomunicações, e resolverás problemas de trabalho neste período.
14º – Exibirás olheiras como troféu de guerra… E o pior: Inexplicavelmente gostarás de tudo isso!
15º – Não poderás adoecer!
16º – Todo dia tudo recomeçará do zero novamente, pois qualquer conhecimento em TI não vale por muito tempo !

quarta-feira, 28 de abril de 2010

Class Finder - Encontrando Classes


Quem nunca precisou de uma classe para descompilá-la e não sabia onde encontrar a mesma.

Eu já passei por várias situações como esta.

Bem, para este fim podemos usar o ClassFinder

Utilitário bastante eficiente!

Basta que você faça o download e execute-o da seguinte maneira:

java -jar classfinder.jar -d dir/ -c AlgumaClasse

-d Especifica o diretório à ser usado. Argumento obrigatório

-c Especifica o nome da classe à ser encontrada dentro dos jars. A busca é feita em case-sensitive, a menos que você use a opção p. Este argumento é obrigatório(must define it!) 
-v Verbose

Espero ter ajudado!
Abraços!
 

sábado, 24 de abril de 2010

Seu código no seu blog como na sua IDE

Eclipse


No eclipse você terá de instalar o Java2Html

Basta que você descompacte jogue seu conteúdo na pasta plugin no diretório de instalação do seu eclipse.

Reinicie o eclipse.

Agora você está apto exportar seu código colorido em html, basta que você selecione a parte do código que você deseja clicar com o botão direito, e escolher a opção Java2Html. Veja a figura abaixo:













Salve em um arquivo, e abra com o brOffice ou Microsoft Word.

Agora você pode copiar e colar seu código onde quiser.

Netbeans


No netbeans, a tarefa se torna ainda mais fácil, basta que você acesse a opção print to html  no menu arquivo.

Faça o mesmo procedimento abrindo seu html com o brOffice ou MS Wordl.


rideick@gmail.com
Follow me on twitter

sábado, 17 de abril de 2010

Como incializar um array de forma correta

Simples!

// Exemplo de um array mal inicializado:

public class Test {
public static void main(String args[]) {
String sa[] = new String[5];
sa[0].charAt(0);
}
}

// Exemplo de um array inicializado corretamente:

public class Test {
public static void main(String args[]) {
String sa[] = new String[5];

for(int i = 0; i < 5; i++) {
sa[i] = new String();
}

sa[0].charAt(0);
}
}

Array Multidimensional em Java


Para este exemplo utilizaremos o conceito de agenda.

Primeiro inicialize seu array da seguinte forma:

        String agenda[][] = new String[][]{{"João", "8898-4452", "Rua Perdigão"},
            {"Pedro", "9984-5569", "Alameda Rio Negro"},
            {"Ana", "7422-9966", "Alameda Porto Alegre"},
            {"Bia", "5555-2244", "Av. do Estado"}};
 
Para a impressão do mesmo utilize dois for's(note que o array tem duas dimensões) da seguinte forma:

            for(int i = 0; i < agenda.length; i++ ){

            System.out.println("--------");

            for(int e = 0; e < agenda[i].length; e++){

                System.out.println(agenda[i][e]);
                
            }
 
Saída:
 
João
8898-4452
Rua Perdigão
--------
Pedro
9984-5569
Alameda Rio Negro
--------
Ana
7422-9966
Alameda Porto Alegre
--------
Bia
5555-2244
Av. do Estado 
  
Rápido e simples!





quinta-feira, 15 de abril de 2010

Transformando Weblogic 32 bits em 64bits


1. Copie as bibliotecas nativas 64-bits de um servidor que tenha um weblogic 64 bits instalado. Copiar os arquivos se encontram em install_dir/wlserver_10.0/Server/native/linux/x86_64 para o servidor weblogic de 32 bits no diretório install_dir/wlserver_10.0/Server/native/linux/x86_64

2. No servidor que você acabou de copiar as libs, altere o arquivo install_dir/wlserver_10.0/common/bin/commEnv.sh, no trecho:

LINUX|Linux)

arch=`uname –m

if [arch =’x86_64’]

arch=’i686’

fi

Remova as linhas:

if [arch =’x86_64’]

arch=’i686’

fi

3. Reinicie o NodeManager e seus Managed Servers.

domingo, 21 de março de 2010

Java para Web - Aprendendo a programar - Parte II - JSP, Javabean, Mysql com login criptografado

Nesta segunda parte vou postar os códigos que consegui desenvolver durante este período. Consegui fazer um pequeno código, com autenticacao usando o banco de dados mysql, consulta de cadastro e inclusão no banco de dados.

Desculpem me se o código estiver um tanto quanto tosco. Lembro que estou apenas aprendendo.

index.jsp


<%-- 
    Document   : index
    Created on : 16/03/2010, 15:39:11
    Author     : Alexandro Félix Pereira
--%>


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">


<%--Cria instâncias das classes userBean e UserDataBean--%>
<jsp:useBean id="user" class="com.vignette.vps.UserBean" scope="page"/>
<jsp:useBean id="userData" class="com.vignette.vps.UserDataBean" scope="page"/>


<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Pet Plus</title>
    </head>
    <body>
        <%-- Seta todas as propriedades do java bean UserBean, que
         equivalem ao nome dos campos "input" abaixo --%>
        <jsp:setProperty name="user" property="*"/>
        <%
        /*Testa se os campos userName ou senha são diferente de null, caso algum seja,
        significa que temos uma consulta à ser realizada, caso contrário exibe os
        campos para consulta*/
        if(user.getUserName() == null |
           user.getSenha() == null){
        %>
        <form action="index.jsp" method="post">
            <table>
                <tr><th>Usuário:</th>
                    <th><input name="userName" type="text"/></th>
                </tr>
                <tr><th>Senha:</th>
                    <th><input name="senha" type="password"/></th>
                </tr>
            </table>
            <input type="submit" name="Entrar" value="Enviar"/>
        </form>
    <%
    /*Verifica as credenciais do usuário, caso o retorno seja "true", redireciona
      o usuário para home.jsp*/
    }else if(userData.getCredentials(user.getUserName(), user.getSenha())){
    %>
        <jsp:forward page = "home.jsp"/>
    <%
    /*Caso usuário ou senha estejam incorretos, será exibida a mensagem abaixo  */
    }else{
        out.println("Usuário ou senha incorretos");      
    %>
    <br />
    <%-- Link recarrega a pagina apos insercao de dados incorreta --%>
    <a href="index.jsp">Voltar</a>    
    <% } %><%-- finaliza o "else" --%>
    </body>
</html>


##################################################
home.jsp



<%-- 
    Document   : home
    Created on : 16/03/2010, 16:17:01
    Author     : Alexandro Félix Pereira
--%>


<%@page contentType="text/html" pageEncoding="UTF-8"
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Pet Plus</title>
    </head>
    <body>
        <h2><strong>O que deseja fazer?</strong></h2>
        <table>
            <tr>
                <th><a href="listaClientes.jsp">Consultar Clientes</a></th>
            </tr>
            <tr>
                <th><a href="incluirClientes.jsp">Cadastrar Clientes</a></th>
            </tr>
        </table>        
    </body>
</html>


##################################################
listaClientes.jsp

<%-- 
    Document   : listaClientes
    Created on : 17/03/2010, 12:31:29
    Author     : Alexandro Félix Pereira
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<%--Cria instâncias das classes userBean e UserDataBean--%>
<jsp:useBean id="userData" class="com.vignette.vps.UserDataBean" scope="page"/>
<jsp:useBean id="user" class="com.vignette.vps.UserBean" scope="page"/>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Consulta Clientes</title>
    </head>
    <%--Seta prpriedades--%>
    <jsp:setProperty name="user" property="*"/>
    <%-- Se nome ou id igual null, exibe a página para consulta --%>
    <%
    if((user.getId() == null && user.getNome() == null)){
    %>
    <body>
        <h2><strong>O que deseja fazer?</strong></h2>
        <form action="listaClientes.jsp">
        <table>
            <tr>
                <th align="left">Id:</th>
                <th align="left"><input type="text" name="id" value="" size="30" /></th>
            </tr>
            <tr>
                <th align="left">Nome do cliente:</th>
                <th align="left"><input type="text" name="nome" value="" size="30" /></th>
            </tr>            
        </table>
            <input type="submit" value="Consultar" name="consultar" />
        </form>
    <%  /*
        se o retorno do metodo listaClientes for verdadeiro, exibe o resultado
        da consulta
        */
        }else if(userData.listaClientes(user.getNome(), user.getId())){
    %>
        <table width="90%" border="1">
          <tr>
    <%  // write out the header cells containing the column labels
         for (int i=1; i<=userData.getColumns(); i++) {
              out.write("<th>" + userData.getRsmd().getColumnLabel(i) + "</th>");
         }
    %>
    </tr>
    <% // now write out one row for each entry in the database table
         while (userData.getResult().next()) {
            out.write("<tr>");
            for (int i=1; i<=userData.getColumns(); i++) {
               out.write("<td>" + userData.getResult().getString(i) + "</td>");
            }
            out.write("</tr>");
         }     
     }
    %>
    </table>
    </body>
</html>
##################################################
incluirClientes.jsp
<%-- 
    Document   : incluirClientes
    Created on : Mar 21, 2010, 6:05:29 PM
    Author     : rideick
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<%--Cria instâncias das classes userBean e UserDataBean--%>
<jsp:useBean id="user" class="com.vignette.vps.UserBean" scope="request"/>
<jsp:useBean id="userData" class="com.vignette.vps.UserDataBean" scope="request"/>

<HTML>
    <HEAD><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <TITLE>Incluir Clientes</TITLE>
    </HEAD>
    <BODY>
        <%-- Define as propriedades do bean user--%>
        <jsp:setProperty name="user" property="*"/>
        <%
        //se nome diferente de null exibe a página para inclusão de cliente
        if(user.getNome() == null){
        %>
        <H3>Incluir Cliente</H3>
        <FORM action="incluirClientes.jsp" method="get">
            <TABLE>
                <TBODY><TR><TH align="left">Nome do Cliente:</TH>
                    <TH><INPUT type="text" name="nome" value="" size="60"></TH>
                </TR>
                <TR><TH align="left">Endereço:</TH>
                    <TH><INPUT type="text" name="end1" value="" size="60"></TH>
                </TR>
                <TR><TH align="left">Endereço Secundário:</TH>
                    <TH><INPUT type="text" name="end2" size="60"></TH>
                </TR>
                <TR><TH align="left">CEP:</TH>
                    <TH><INPUT type="text" name="cep" size="60"></TH>
                </TR>
                <TR><TH align="left">Cidade:</TH>
                    <TH><INPUT type="text" name="cidade" size="60"></TH>
                </TR>
                <TR><TH align="left">Estado</TH>
                    <TH><INPUT type="text" name="estado" size="60"></TH>
                </TR>
                <TR><TH align="left">Telefone:</TH>
                    <TH><INPUT type="text" name="telefone" size="60"></TH>
                </TR>
                <TR><TH align="left">Fax:</TH>
                    <TH><INPUT type="text" name="fax" size="60"></TH>
                </TR>
                <TR><TH align="left">E-mail:</TH>
                    <TH><INPUT type="text" name="email" size="60"></TH>
                </TR>
                <TR><TH align="left">Código de Desconto:</TH>
                    <TH><INPUT type="text" name="cod_desc" size="60"></TH>
                </TR>
                <TR><TH align="left">Limite de Crédito:</TH>
                    <TH><INPUT type="text" name="lim_cred" size="60"></TH>
                </TR>
            </TBODY></TABLE>
            <INPUT type="submit" value="Incluir" name="incluir">
        </FORM>
        <%
        }else{
            //construcao do sql para inclusão do cliente
            userData.setSql(user.getId(),user.getNome(),user.getEnd1(),user.getEnd2(),
                            user.getCep(),user.getCidade(),user.getEstado(),user.getTelefone(),
                            user.getFax(),user.getEmail(),user.getCod_desc(),user.getLim_cred());
            //se as linhas afetadas maior ou igual a 1, exibe mensagem de sucesso.
         }if(userData.getLinhas() >= 1){
        %>
        <strong>Dados inseridos com sucesso</strong><br />
        <a href="incluirClientes.jsp">Voltar</a>
        <%
        }
        %>
    </BODY>
</HTML>
##################################################
UserBean.java

package com.vignette.vps;

import java.io.Serializable;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 *
 * @author rideick
 */
public class UserBean implements Serializable{

    private String userName,senha,id,nome,end1,end2,
                   cep,cidade,estado,telefone,fax,email,
                   cod_desc,lim_cred;

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the senha
     */
    public String getSenha() {
        return senha;
    }

    /**
     * @param senha the senha to set
     */
    public void setSenha(String senha) {

        try {
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        md5.update(senha.getBytes());
        BigInteger hash = new BigInteger(1, md5.digest());
        senha = hash.toString(16);
        } catch (NoSuchAlgorithmException nsae) {

        }

        this.senha = senha;
    }

    /**
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return the userName
     */
    public String getUserName() {
        return userName;
    }

    /**
     * @param userName the userName to set
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * @return the end1
     */
    public String getEnd1() {
        return end1;
    }

    /**
     * @param end1 the end1 to set
     */
    public void setEnd1(String end1) {
        this.end1 = end1;
    }

    /**
     * @return the end2
     */
    public String getEnd2() {
        return end2;
    }

    /**
     * @param end2 the end2 to set
     */
    public void setEnd2(String end2) {
        this.end2 = end2;
    }

    /**
     * @return the cep
     */
    public String getCep() {
        return cep;
    }

    /**
     * @param cep the cep to set
     */
    public void setCep(String cep) {
        this.cep = cep;
    }

    /**
     * @return the cidade
     */
    public String getCidade() {
        return cidade;
    }

    /**
     * @param cidade the cidade to set
     */
    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    /**
     * @return the estado
     */
    public String getEstado() {
        return estado;
    }

    /**
     * @param estado the estado to set
     */
    public void setEstado(String estado) {
        this.estado = estado;
    }

    /**
     * @return the telefone
     */
    public String getTelefone() {
        return telefone;
    }

    /**
     * @param telefone the telefone to set
     */
    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    /**
     * @return the fax
     */
    public String getFax() {
        return fax;
    }

    /**
     * @param fax the fax to set
     */
    public void setFax(String fax) {
        this.fax = fax;
    }

    /**
     * @return the email
     */
    public String getEmail() {
        return email;
    }

    /**
     * @param email the email to set
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * @return the cod_desc
     */
    public String getCod_desc() {
        return cod_desc;
    }

    /**
     * @param cod_desc the cod_desc to set
     */
    public void setCod_desc(String cod_desc) {
        this.cod_desc = cod_desc;
    }

    /**
     * @return the lim_cred
     */
    public String getLim_cred() {
        return lim_cred;
    }

    /**
     * @param lim_cred the lim_cred to set
     */
    public void setLim_cred(String lim_cred) {
        this.lim_cred = lim_cred;
    }

}
##################################################
UserDataBean.java
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.vignette.vps;

import javax.naming.NamingException;
import javax.sql.*;
import java.sql.*;
import javax.naming.Context;
import javax.naming.InitialContext;

/**
 *
 * @author Alexandro Felix Pereira
 */
public class UserDataBean {
    
    private Statement pstmt = null;
    private PreparedStatement pst = null;
    private ResultSetMetaData rsmd = null;
    private ResultSet result = null;
    private Context ctx = new InitialContext();
    private DataSource ds = (DataSource) ctx.lookup("petplus");
    private Connection connection = ds.getConnection();

    String usrName, pass;
    private boolean credentials = false;
    private int columns = 0;
    private int linhas = 0;

    private String sql = null;

    UserBean usrBean = new UserBean();

    public UserDataBean()
            throws SQLException, NamingException{
    }

    public boolean getCredentials(String userName, String senha) 
            throws SQLException, NamingException{

        String sql = "SELECT user_name,password " +
                     "FROM users " +
                     "WHERE user_name='" + userName + "' " +
                     "AND password='" + senha + "'";

        try{
            
            setPstmt(getConnection().createStatement());

            setResult(getPstmt().executeQuery(sql));

            while(result.next()){

                if( getResult().getString("user_name").equals(userName) &&
                    getResult().getString("password").equals(senha)){

                    credentials = true;

                }

            }
            
        }
        catch(SQLException e){

            System.out.println("Exception na consulta: SELECT user_name,password " +
                                              "FROM users " +
                                              "WHERE user_name='" + userName + "' " +
                                              "AND password='" + senha + "'" + e);

        }

        return credentials;

    }

    public boolean listaClientes(String nome, String id) throws SQLException{

        setPstmt(getConnection().createStatement());

        try{
        if (ds != null) {

            if(id == null && nome == null){

                    setResult(getPstmt().executeQuery("SELECT customer_id as id, " +
                                                     "name as nome, " + "city as cidade, " +
                                                     "" + "phone as telefone, " + "state as estado, " +
                                                     "addressline1 as endereço, " +
                                                     "addressline2 as endereço_alternativo, " +
                                                     "credit_limit as limite_de_crédito " +
                                                     "FROM customer " +
                                                     "ORDER BY name"));

            }else if(id != null && nome == null){

                    setResult(getPstmt().executeQuery("SELECT customer_id as id, name as nome, city as cidade, " +
                                                      "phone as telefone, state as estado, " +
                                                      "addressline1 as endereço, " +
                                                      "addressline2 as endereço_alternativo, " +
                                                      "credit_limit as limite_de_credito " +
                                                      "FROM customer " +
                                                      "WHERE customer_id=" + id + " " +
                                                      "ORDER BY name"));

            }else if(id != null && nome != null){

                    setResult(getPstmt().executeQuery("SELECT customer_id as id, name as nome, city as cidade, " +
                                                      "phone as telefone, state as estado, " +
                                                      "addressline1 as endereço, " +
                                                      "addressline2 as endereço_alternativo, " +
                                                      "credit_limit as limite_de_credito " +
                                                      "FROM customer " +
                                                      "WHERE customer_id=" + id + " " +
                                                      "AND LOWER(name) LIKE '%" + nome + "%' " +
                                                      "ORDER BY name"));
            }else{

                    setResult(getPstmt().executeQuery("SELECT customer_id as id, name as nome, city as cidade, " +
                                                      "phone as telefone, state as estado, " +
                                                      "addressline1 as endereço, " +
                                                      "addressline2 as endereço_alternativo, " +
                                                      "credit_limit as limite_de_credito " +
                                                      "FROM customer " +
                                                      "WHERE LOWER(name) " +
                                                      "LIKE '%" + nome + "%' " +
                                                      "ORDER BY name"));
            }

            if(result != null ){
                credentials = true;
            }
        }
     }
     catch (SQLException e) {
        System.out.println("Error occurred " + e);
      }
      
      try {
            setRsmd(getResult().getMetaData());
            setColumns(getRsmd().getColumnCount());
      }
      catch (SQLException e) {
         System.out.println("Error occurred " + e);
      }
     return credentials;

    }

    public void setSql(String id,String nome,String end1,String end2,
            String cep,String cidade,String estado,String telefone,
            String fax,String email,String cod_desc,String lim_cred) throws SQLException{
        
        pstmt = connection.createStatement();

        sql = "INSERT INTO customer " +
              "(discount_code, zip, name, " +
              "addressline1, addressline2, city, state, phone, " +
              "fax, email, credit_limit) " +
              "VALUES ('" + cod_desc + "','" +
              cep +"','" + nome + "','" + end1 + "','" + end2 +"','" +
              cidade + "','" + estado + "','" + telefone
              + "','" + fax + "','" + email + "'," + lim_cred + ")";

        setLinhas(pstmt.executeUpdate(sql));
        
    }

    public String getSql(){

        return sql;
    }

    /**
     * @return the columns
     */
    public int getColumns() {
        
        return columns;
    }

    /**
     * @param columns the columns to set
     */
    public void setColumns(int columns) {
        this.columns = columns;
    }

    /**
     * @return the rsmd
     */
    public ResultSetMetaData getRsmd() {
        return rsmd;
    }

    /**
     * @param rsmd the rsmd to set
     */
    public void setRsmd(ResultSetMetaData rsmd) {
        this.rsmd = rsmd;
    }

    /**
     * @return the result
     */
    public ResultSet getResult() {
        return result;
    }

    /**
     * @param result the result to set
     */
    public void setResult(ResultSet result) {
        this.result = result;
    }

    /**
     * @return the connection
     */
    public Connection getConnection() {
        return connection;
    }

    /**
     * @param connection the connection to set
     */
    public void setConnection(Connection connection) {
        this.connection = connection;
    }

    /**
     * @return the pstmt
     */
    public Statement getPstmt() {
        return pstmt;
    }

    /**
     * @param pstmt the pstmt to set
     */
    public void setPstmt(Statement pstmt) {
        this.pstmt = pstmt;
    }  
    /**
     * @return the pst
     */
    public PreparedStatement getPst() {
        return pst;
    }

    /**
     * @param pst the pst to set
     */
    public void setPst(String sql) throws SQLException {

        pst = connection.prepareStatement(sql);
        
    }
    /**
     * @return the linhas
     */
    public int getLinhas() {
        return linhas;
    }

    /**
     * @param linhas the linhas to set
     */
    public void setLinhas(int linhas) {
        this.linhas = linhas;
    }

    @Override
    public void finalize() throws SQLException{

        try{
            result.close();
            connection.close();
            pstmt.close();
        }
        catch(SQLException e){
            System.out.print(e);
        }

    }


}




quinta-feira, 18 de março de 2010

Java para Web - Aprendendo a programar

Depois de um tempo de inatividade, estou eu aqui de volta à "blogar". Agora para passar um pouco minha experiência com programação para web.

Bem, sempre tive vontade de desenvolver aplicações, pois considero a programação, uma arte. Acredito que seja uma grande satisfação, desenvolver algo útil onde você pode facilitar a vida das pessoas através de seu trabalho, e dessa forma, contribuir com o meio em que você vive.
Até hoje tenho desenvolvido, pequenos programas em variadas linguagens, php, C, java e shell script, uma boa gama de linguagens, para alguém que até agora tem na programação, umas espécie de hobby. Contudo, na maioria dos casos, os programas desenvolvidos, só serviram para o meu próprio deleito, nada sofisticados, multi usuário, ou que atendesse a uma certa quantidade de pessoas.

Agora que relatei alguns dos motivos, que me levaram, a realmente aprender a programar. Vou tentar passar um pouco da minha experiência, relatando dificuldades e o que houver de mais relevante, e claro, sempre que aprender algo novo, postarei aqui, para ajudar novos "programadores" como eu.

A duas semanas atrás, estava na livraria Saraiva, e encontrei um livro chamado: Denvolvendo aplicações para web com jsp, servlets, javaserver faces, hibernate, ejb 3 persitense e ajax. Li um pouco o que havia no mesmo e resolvi comprar. É um livro muito, estou usando ele como base no meu aprendizado, que hoje, está fazendo mais ou menos uma semana desde seu início. Até agora, aprendi um pouco sobre servlets, jsp, e javabeans. Já consegui fazer uma página de login, efetuando a consulta em um data source, no app server, uma página para inclusão de dados e outra para consulta de dados. Nada mal para uma semana.

Hoje, aprendi um novo conceito, aprendi que não é uma boa prática, criar a conexão ao banco de dados, dentro da jsp. Devemos fazer isto através de um javabean. Dessa maneira, tornamos nosso código mais legível, mais coeso, e o reaproveitamento de código é mais eficiente. Estou tendo uma certa dificuldade, mas acho que amanhã, consigo transferir toda a parte de conexão com banco, para javabean.

O aprendizado tem sido fantástico, algo que tem me motivado, e me mantido na frente do computador. Estou me fascinando por esta área, e espero que com os conhecimentos adquiridos, possa ajudar outras pessoas a resolver seus problemas, e passar conhecimento às mesmas.

Por hoje é só.

Abraços e boa noite!