quarta-feira, 22 de dezembro de 2010

Validando CPF em java

Faaaala manos!!! Quem nunca teve esta vontade de validar o Cpf da pessoa hein???

Para quem nunca fez esta façanha, aqui vai um método personal de como fazer isto....Vamos lá!


  1.    
  2.   Metodo validacaoCPF - Responsavel em validar o CPF 
  3.       
  4.      
  5.     
  6.       
  7.    public boolean validacaoCPF(String cpf) {  
  8.             int     d1, d2;  
  9.             int     digito1, digito2, resto;  
  10.             int     digitoCPF;  
  11.             String  nDigResult;  
  12.   
  13.             d1 = d2 = 0;  
  14.             digito1 = digito2 = resto = 0;  
  15.   
  16.             for (int nCount = 1; nCount < cpf.length() -1; nCount++)  
  17.             {  
  18.                digitoCPF = Integer.valueOf (cpf.substring(nCount -1, nCount)).intValue();
  19.   
  20.   
  21.     //multiplique a ultima casa por 2 a seguinte por 3 a seguinte por 4 e assim por diante.  
  22.                d1 = d1 + ( 11 - nCount ) * digitoCPF;  
  23.   

  24.    //para o segundo digito repita o procedimento incluindo o primeiro digito calculado no passo anterior.  
  25.                d2 = d2 + ( 12 - nCount ) * digitoCPF;  
  26.             };  

  27.    //Primeiro resto da divisão por 11.  
  28.             resto = (d1 % 11);  
  29.   
  30.    //Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.  
  31.             if (resto < 2)  
  32.                digito1 = 0;  
  33.             else  
  34.                digito1 = 11 - resto;  
  35.   
  36.             d2 += 2 * digito1;  
  37.   
  38.     //Segundo resto da divisão por 11.  
  39.             resto = (d2 % 11);  
  40.   
  41.     //Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.  
  42.             if (resto < 2)  
  43.                digito2 = 0;  
  44.             else  
  45.                digito2 = 11 - resto;  
  46.   
  47.     //Digito verificador do CPF que está sendo validado.  
  48.             String nDigVerific = cpf.substring (cpf.length()-2, cpf.length());  
  49.   
  50.     //Concatenando o primeiro resto com o segundo.  
  51.             nDigResult = String.valueOf(digito1) + String.valueOf(digito2);  
  52.   
  53.     //comparar o digito verificador do cpf com o primeiro resto + o segundo resto.  
  54.             return nDigVerific.equals(nDigResult);  
  55.          }  
É isso ai galera!!! mais um pedido mandado!!!!!

Quem goto Bate Palma!!!


Centralizar Janela da Aplicação

Fala galeraaaaaa!!!! Eu Bruno Rafael, estou aqui para tirar mais uma dúvida de muiiiita gente!!!
Quem nunca quis centralizar a janela de sua aplicação que jogue a primeira pedra....

Olha não é fácil, mas também não é difícil...Vamos lá.

Como todos sabemos, ao iniciar sua janela, você precisa de um método construtor que é o responsável por carregar todos os dados pertinentes no momento da inicialização da aplicação. Este método tem, obrigatoriamente o mesmo nome da classe. Para identificar seu construtor, ou cria-lo, ele terá este formato:

public nomeClasse (){


Sendo assim, para sua tela inicializar centralizada, o código que executa esta função deve ser inserido logicamente no seu construtor. O código é o seguinte:

Simples assim.Insira este método em seu construtor e execute a aplicação...
É isso galera, mais um post pedido e post respondido!!!! Abraçowwwww!!!

Enviando Email Em Java


Fala Galera! Após este período longe e sem publicar nenhum post, volto com todo o pique e com grandes tutoriais a serem criados!!!!Eu Bruno Rafael, Mostrarei a vocês como enviar emails em java!!

A partir daí encontrei, além da já conhecida API JavaMail, uma outra API do projeto Jakarta Apache, o Commons-email.

O Commons-email foi desenvolvido como uma camada mais abstraída da API JavaMail (J2EE-API) o que a tornou mais simples e robusta.

Através do commons-email, é possível enviar e-mails simples, com textos puros, em formato HTML e também e-mail com anexos conforme mostraremos neste tutorial.

Observação: Este tutorial é inteiramente referente à documentação disponível em:

Obtendo o commons-email
O commons-email pode ser baixado a partir do endereço:

Após descompactar o arquivo commons-email-1.0.zip, o arquivo commons-email-1.0.jar deve ser referenciado na pasta lib da sua aplicação.

A API commons-email

·   SimpleEmail – Esta classe é usada para enviar e-mails simples.
·   MultiPartEmail - Esta classe é usada emitir mensagens multipart. Isto permite uma mensagem de texto com anexos.
·   HtmlEmail – Esta classe envia emails formatados como HTML.
·   EmailAttachment – Esta classe é usada para se criar os anexos do email.

Enviando um e-mail simples
Nosso primeiro exemplo criará uma mensagem simples de e-mail para “John Doe” e a enviará através do seu servidor de e-mail.

SimpleEmail email = new SimpleEmail();
email.setHostName("mail.myserver.com"); // o servidor SMTP para envio do e-mail
email.addTo("jdoe@somewhere.org", "John Doe"); //destinatário
email.setFrom("me@apache.org", "Me"); // remetente
email.setSubject("Mensagem de Teste"); // assunto do e-mail
email.setMsg("Teste de Email utilizando commons-email"); //conteudo do e-mail
email.send(); //envia o e-mail

A chamada ao setHostName(“mail.myserver.com”) ajusta o endereço do servidor smtp que será usado emitir a mensagem. Se esta opção não for ajustada, a propriedade “mail.host” do sistema será usada.

Enviando e-mails com anexo Para enviar e-mails com anexos deve-se utilizar a classe MultiPartEmail. Essa classe trabalha da mesma forma que a classe SimpleEmail, exceto pela adição do método attach() que será utilizada para adicionar os anexos ao e-mail. Não há limite para o número de anexos (na verdade o servidor de e-mail utilizado que irá impor o limite de anexos).

A maneira mais simples de adicionar um anexo é utilizar a classe EmailAttachment que encapsulará o anexo. 

No exemplo abaixo, será criado e adicionado como anexo ao e-mail anteriormente criado, uma figura.

// cria o anexo.
EmailAttachment attachment = new EmailAttachment();
attachment.setPath("mypictures/john.jpg"); //caminho da imagem
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("Picture of John");
attachment.setName("John");

// Cria a mensagem de e-mail.
MultiPartEmail email = new MultiPartEmail();
email.setHostName("mail.myserver.com"); // o servidor SMTP para envio do e-mail
email.addTo("jdoe@somewhere.org", "John Doe"); //destinatario
email.setFrom("me@apache.org", "Me"); //remetente
email.setSubject("Mensagem de teste com anexo"); //Assunto
email.setMsg("Aqui está a Imagem anexada ao e-mail"); //conteudo do e-mail
email.attach(attachment); // adiciona o anexo à mensagem

email.send();// envia o e-mail

Você pode usar a classe EmailAttachment para adicionar anexos remotos através de uma URL válida para arquivos que não estejam localizados localmente. Quando a mensagem é enviada é feito o download e o anexo do arquivo automaticamente. 

O código abaixo mostra como enviar um arquivo localizado remotamente, como anexo.

// cria o anexo.
EmailAttachment attachment = new EmailAttachment();
attachment.setURL(new URL("http://www.apache.org/images/asf_logo_wide.gif"));//endereço remoto
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("Apache logo");
attachment.setName("Apache logo");

// Cria a mensagem de e-mail
MultiPartEmail email = new MultiPartEmail();
email.setHostName("mail.myserver.com");
email.addTo("jdoe@somewhere.org", "John Doe");
email.setFrom("me@apache.org", "Me");
email.setSubject("O logoTipo");
email.setMsg("Aqui está o logoTipo da Apache");

email.attach(attachment); // adiciona o anexo

email.send();// envia o e-mail

Enviando e-mails no formato HTML O envio de e-mail no formato HTML pode ser feito com a classe HtmlEmail. O funcionamento dessa classe é idêntica ao da classe MultiPartEmail, a não ser pelo fato de possuir um método adicional que configura o content-type da mensagem para text/html.  Além disso, a classe permite alternativamente adicionar o conteúdo da mensagem como texto plano, nos casos onde não é suportado e-mails no formato HTML. 

O código abaixo mostra como enviar um e-mail no formato HTML, incluindo uma imagem no corpo da mensagem.

// Cria o e-mail
HtmlEmail email = new HtmlEmail();
email.setHostName("mail.myserver.com");
email.addTo("jdoe@somewhere.org", "John Doe");
email.setFrom("me@apache.org", "Me");
email.setSubject("Teste de e-mail em formato HTML");

// adiciona uma imagem ao corpo da mensagem e retorna seu id
URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif");
String cid = email.embed(url, "Apache logo");

// configura a mensagem para o formato HTML
email.setHtmlMsg("<html>The apache logo - <img src=\"cid:"+cid+"\"></html>");

// configure uma mensagem alternativa caso o servidor não suporte HTML
email.setTextMsg("Seu servidor de e-mail não suporta mensagem HTML");

// envia o e-mail
email.send();

Primeiramente, observe que a chamada a embed() retorna uma String. Esta String é um identificador aleatório gerado que deve ser usado para referenciar a imagem na Tag da imagem.

URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif");
String cid = email.embed(url, "Apache logo");
email.setHtmlMsg("<html>The apache logo - <img src=\"cid:"+cid+"\"></html>");

Segundo, não havia nenhuma chamada ao setMsg() neste exemplo. O método está ainda disponível na classe HtmlEmail mas não deve ser usado se você estiver usando imagens inline (Como no exemplo). Contudo, o setHtmlMsg() e os métodos do setTextMsg () foram usados.

Debug
A API JavaMail suporta uma opção de debug que pode ser muito útil se você tiver problemas para fazer funcionar. Você pode ativar o debug em qualquer uma das classes de email chamando o setDebug (true). A saída do debug será escrita a System.out.

Autenticação
Se o seu servidor de envio de e-mails (servidor SMTP) exige autenticação, isso pode ser feito através do método setAuthentication(userName,password) antes do envio do e-mail. 

Você pode executar um método mais complexo de autenticação criando uma subclasse do objeto javax.mail.Authenticator.

Para isso você precisa Sobrescrever o método getPasswordAuthentication() onde você configurará as informações do usuário. Para fazer uso de seu Authenticator use o metodo Email.setAuthenticator();


É isso ai galera! mais um tuto para vocês!!! e Não esqueçam!!!! JaTAva na mente!!!

Admin: Bruno

Olá Galera! muito grato por estarem acessando nosso blog. Espero que seja possível transmitir de forma compreensível um pouco de meus conhecimentos em programação, para esta comunidade de desenvolvedores que cresce cada vez mais! Espero que Gostem! Abraço! E meu enorme obrigado à Renato Simões, Átila Soares,Wanderson Quinto, Emerson e a toda galera que sempre ajudou meu sincero obrigado....
Especialmente a Natalia Failache e Rita de Cassia que sempre apoiaram este sonho....

De seu amigo Bruno Rafael.