Mostrando postagens com marcador java. Mostrar todas as postagens
Mostrando postagens com marcador java. Mostrar todas as postagens

quinta-feira, 6 de setembro de 2012

Artigo HTML5, JavaScript e CSS3 – Java Magazine

A edição de setembro da revista Java Magazine (edição 107) inclui um artigo que escrevi tratando de alguns dos novos recursos trazidos pelas tecnologias HTML5, JavaScript e CSS 3. Dentre os recursos abordados estão: novos campos de dados, validação de formulário, armazenamento de dados com JavaScript, suporte a vídeos, entre outros.

Java Magazine 107
Lista de artigos desta edição:

HTML5, JavaScript e CSS3
Buscas na web com Apache Solr e Nutch – Parte 2
Java EE 6: Da configuração aos testes – Parte 2
Mensagens da nuvem para o Android
Gerência de Configuração e Mudanças
Padrões de Projeto em Aplicações Web

quinta-feira, 12 de abril de 2012

Artigo Introdução ao JavaScript - Easy Java Magazine

A edição de abril da revista Easy Java Magazine (edição 17) inclui um artigo que escrevi introduzindo o uso do JavaScript em páginas HTML, focando em exemplos que mostram os seus benefícios e a facilidade de utilizar esta tecnologia. Ao final do mesmo, uma aplicação Java para web é implementada, integrada com uma validação simples desenvolvida em JavaScript que utiliza recursos estudados nos primeiros exemplos.

Easy Java Magazine 17
Lista de artigos desta edição:

Explorando as classes Wrapper
Primeiros passos com RMI
Swing na prática
Introdução ao JavaScript

sexta-feira, 6 de abril de 2012

Artigo Validação com jQuery - Java Magazine

A revista Java Magazine deste mês (edição 102) traz um artigo que escrevi abordando a validação de formulários a partir do plugin validate do jQuery. Com o validate, a validação de campos é feita de forma fácil, sem a necessidade de muita codificação, sendo possível a customização das regras do plugin e a utilização de funções adicionais disponibilizadas pelo mesmo. Além disso, também é estudado o plugin de formatação de campos format.

Java Magazine 102
Lista de artigos desta edição:

Android 4: Ice Cream Sandwich – Parte 2
JBoss Application Server 7
Validação com jQuery
Entendendo e otimizando o Garbage Collection – Parte 1
Testes ágeis com EJB3Unit
Desempenho em aplicações Java

sexta-feira, 9 de março de 2012

Artigo Explorando os Componentes do Dojo Toolkit – Java Magazine

A revista Java Magazine deste mês (edição 101) traz um artigo que escrevi sobre os componentes gráficos do Dojo Toolkit. O artigo explora vários componentes do Dojo, mostrando na prática como utilizá-los em uma aplicação. Para isso, são abordados desde menus até componentes para funções específicas, como calendários e campos para horas.

Java Magazine 101
Lista de artigos desta edição:

Maven, JSF 2, Spring e Hibernate
Seam 3: Servlet e o futuro
Explorando os componentes do Dojo Toolkit
JavaOne Latin America 2011
Transações com EJB
Aplicações Java EE “lightweight”
Maven 3, Sonar e Hudson
Processo de Teste de Software

quinta-feira, 8 de dezembro de 2011

Artigo Dojo Toolkit na prática - Java Magazine

A revista Java Magazine deste mês (edição 98) traz um artigo que escrevi abordando o Dojo Toolkit. Este artigo demonstra como utilizar componentes do Dojo Toolkit em uma aplicação web. No decorrer do mesmo é desenvolvido um exemplo ressaltando o uso de componentes como gráficos, grid e temas, assim como a validação de formulários. Tudo isso sendo analisado no contexto de um aplicativo Java que utiliza, em alguns momentos, a notação JSON para troca de informações entre um Servlet e páginas JSP.

Java Magazine 98
Lista de artigos desta edição:

Novidades do Java 7 no NetBeans 7
Serialização e deserialização em Java – Parte 1
VRaptor 3 – Parte 4
Seam 3: Forge, Solder e Catch
Dojo Toolkit na prática
Padrões de projeto, aprecie com moderação
BDD em aplicações Web
Comunicação AJAX Cross-Domain – Parte 2

terça-feira, 11 de outubro de 2011

Artigo jQuery UI - Java Magazine

A edição da Java Magazine deste mês traz um artigo que escrevi abordando o desenvolvimento de aplicações web usando os componentes da biblioteca jQuery UI. No decorrer do mesmo são desenvolvidos dois exemplos: um utilizando o componente autocomplete e outro empregando o componente dialog. O artigo é a capa da edição 96 da revista.

Java Magazine 96

Lista de artigos desta edição:

jQuery UI na prática
Além da IDE – Parte 4
VRaptor 3 – Parte 3
Inversão de Controle – Parte 2
Dissecando a Java Collections
Nem parece Web: é Vaadin!
Acessibilidade em Java
A importância dos Padrões de Projeto

sexta-feira, 16 de setembro de 2011

Artigo Jython - Java Magazine

A edição da Java Magazine deste mês (edição 95) traz um artigo que escrevi abordando o desenvolvimento de aplicações com a tecnologia Jython, que permite a construção de aplicativos Java usando a sintaxe do Python.


Lista de artigos desta edição:

Distribuição de Dados com Java
Java 7 – Aperfeiçoando o Java  
Jython
JSF com Prevayler
Spring Security 3, JSF 2 e JPA 2
Seam 3: complementando a lógica com Weld
Inversão de Controle – Parte 1
Nem parece Web: é Vaadin! – Parte 1 (Exclusivo)

sábado, 29 de novembro de 2008

Programa para Controle de Vendas e Estoque

Vendas&EstoqueDL (Freeware)

Este é um programa para controle de vendas e estoque em um estabelecimento comercial. É feito em Java e todo o código está dísponível. O programa está em desenvolvimento e novas funcionalidades estão sendo criadas. O código é facilmente adaptável à outras aplicações, para importar o código use Ecliple IDE 3.2 ou posterior.

Download:
https://sourceforge.net/projects/vendasestoquedl

domingo, 16 de novembro de 2008

Lua Socket e Java Servlet

Aqui segue um pequeno resumo de como fazer uma comunicação entre uma rotina lua e um servlet java.

Primeiramente é necessário instalar o módulo LuaSocket (isto pode ser feito por apt-get ou yum no linux).

Depois de instalado o LuaSocket faça um servlet simples, que receba alguns parâmetros do HttpRequest e devolva o retorno no HttpResponse.


Abaixo segue um código lua para os primeiros testes:


-------------------------------------------------------------------
http = require("socket.http")


local src = "?parametro1=valor1&parametro2=valor2"
local url = "http://192.168.XX.XXX:8080/LuaServer/LuaServer" .. src


httpResponse = http.request(url)


print()
print("-------------------------------------")
print("Resposta do Servlet: " .. httpResponse)
print("-------------------------------------")
print()
-------------------------------------------------------------------


Aí o servlet recebe o request, recebe os paramentros, faz o
processamento que tem de fazer e retorna o HttpResponse.
Então o lua exibe o resultado na tela.

Pronto, seu lua está conversando com seu servlet.

terça-feira, 14 de outubro de 2008

Convertendo String para Date em java

Exemplo que mostra como converter uma String para Date em java:

import java.util.Date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class Data {

public static void main(String[] args) {
DateFormat fmt = new SimpleDateFormat("dd/MM/yyyy");
Date data = null;
try {
data = new Date(fmt.parse("05/08/1987").getTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(data);
}
}

sexta-feira, 12 de setembro de 2008

Validando cartão de crédito em java

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class CCUtils {
public static final int INVALID = -1;
public static final int VISA = 0;
public static final int MASTERCARD = 1;
public static final int AMERICAN_EXPRESS = 2;
public static final int EN_ROUTE = 3;
public static final int DINERS_CLUB = 4;

private static final String [] cardNames =
{ "Visa" ,
"Mastercard",
"American Express",
"En Route",
"Diner's CLub/Carte Blanche",
};

/**
* Valid a Credit Card number
*/
public static boolean validCC(String number)
throws Exception {
int CardID;
if ( (CardID = getCardID(number)) != -1)
return validCCNumber(number);
return false;
}

/**
* Get the Card type
* returns the credit card type
* INVALID = -1;
* VISA = 0;
* MASTERCARD = 1;
* AMERICAN_EXPRESS = 2;
* EN_ROUTE = 3;
* DINERS_CLUB = 4;
*/
public static int getCardID(String number) {
int valid = INVALID;

String digit1 = number.substring(0,1);
String digit2 = number.substring(0,2);
String digit3 = number.substring(0,3);
String digit4 = number.substring(0,4);

if (isNumber(number)) {
/* ----
** VISA prefix=4
** ---- length=13 or 16 (can be 15 too!?! maybe)
*/
if (digit1.equals("4")) {
if (number.length() == 13 || number.length() == 16)
valid = VISA;
}
/* ----------
** MASTERCARD prefix= 51 ... 55
** ---------- length= 16
*/
else if (digit2.compareTo("51")>=0 && digit2.compareTo("55")<=0) {
if (number.length() == 16)
valid = MASTERCARD;
}
/* ----
** AMEX prefix=34 or 37
** ---- length=15
*/
else if (digit2.equals("34") || digit2.equals("37")) {
if (number.length() == 15)
valid = AMERICAN_EXPRESS;
}
/* -----
** ENROU prefix=2014 or 2149
** ----- length=15
*/
else if (digit4.equals("2014") || digit4.equals("2149")) {
if (number.length() == 15)
valid = EN_ROUTE;
}
/* -----
** DCLUB prefix=300 ... 305 or 36 or 38
** ----- length=14
*/
else if (digit2.equals("36") || digit2.equals("38") ||
(digit3.compareTo("300")>=0 && digit3.compareTo("305")<=0)) {
if (number.length() == 14)
valid = DINERS_CLUB;
}
}
return valid;

/* ----
** DISCOVER card prefix = 60
** -------- lenght = 16
** left as an exercise ...
*/

}

public static boolean isNumber(String n) {
try {
double d = Double.valueOf(n).doubleValue();
return true;
}
catch (NumberFormatException e) {
e.printStackTrace();
return false;
}
}

public static String getCardName(int id) {
return (id > -1 && id < cardNames.length ? cardNames[id] : "");
}

public static boolean validCCNumber(String n) {
try {
/*
** known as the LUHN Formula (mod10)
*/
int j = n.length();

String [] s1 = new String[j];
for (int i=0; i < n.length(); i++) s1[i] = "" + n.charAt(i);

int checksum = 0;

for (int i=s1.length-1; i >= 0; i-= 2) {
int k = 0;

if (i > 0) {
k = Integer.valueOf(s1[i-1]).intValue() * 2;
if (k > 9) {
String s = "" + k;
k = Integer.valueOf(s.substring(0,1)).intValue() +
Integer.valueOf(s.substring(1)).intValue();
}
checksum += Integer.valueOf(s1[i]).intValue() + k;
}
else
checksum += Integer.valueOf(s1[0]).intValue();
}
return ((checksum % 10) == 0);
}
catch (Exception e) {
e.printStackTrace();
return false;
}
}

/*
** For testing purpose
**
** java CCUtils [credit card number] or java CCUtils
**
*/
public static void main(String args[]) throws Exception {
String aCard = "";

if (args.length > 0)
aCard = args[0];
else {
BufferedReader input =
new BufferedReader(new InputStreamReader(System.in));
System.out.print("Card number : ");
aCard = input.readLine();
}
if (getCardID(aCard) > -1) {
System.out.println("This card is supported.");
System.out.println("This a " + getCardName(getCardID(aCard)));
System.out.println
("The card number " + aCard + " is "
+ (validCC(aCard)?" good.":" bad."));
}
else
System.out.println("This card is invalid or unsupported!");
}
}

segunda-feira, 1 de setembro de 2008

Gerando um número aleatório (random) em java

Para gerar um número aleatório em java, usamos o random da biblioteca Math. A seguir segue um exemplo de chamada para este método que neste caso retornará um número aleatório entre 1 e n. Se você deseja um número aleatório entre 1 e 100, basta trocar o n por 100 na linha de código a seguir:

int i = 1 + (int)(Math.random() * n);

Usando XML para criar a GUI das aplicações java

Thinlet é uma ferramenta usada para criar o visual de suas aplicações java através de arquivos xml com uma estrutura simples, parecida com html. O thinlet tem um visual próprio, utiliza awt, e para você utilizar essa ferramenta, tudo o que precisará é de um jar de 38 Kb. Para maiores informações e download visite o site do thinlet, junto com thinlet virá exemplos onde você poderá entender o uso dessa ferramenta.

terça-feira, 19 de agosto de 2008

Configurando o autocompletar do eclipse

Estava utilizando o eclipse e de repente percebi que o autocompletar tinha perdido a funcionalidade. Procurei na internet e nada de achar uma solução. Então um amigo conseguiu solucionar o problema e resolvi postar a solução aqui.

1 - Para configurar o autocompletar vá em:
Window - Preferences

2 - Nessa janela selecione a opção:
Java - Editor - Advanced

3 - Marque os quatro primeiros checkboxes das duas áreas que aparecerão na tela (parte superior e inferior) e clique em OK.


A imagem acima mostra a área de configuração. Clique nela para ver detalhes.

Pronto, o autocompletar está funcionando!

segunda-feira, 11 de agosto de 2008

Mudando o idioma do netbeans para inglês

Para mudar o idioma do seu netbeans para inglês siga os seguintes passos:

1. Acessar o local onde está instalado o Netbeans. (Padrão--> C:\Arquivos de programas\NetBeans 6.1)

2. Abrir a pasta etc, localizada dentro do diretório acima.

3. Adicionar ao fim do documento netbeans.conf a seguinte linha:

netbeans_default_options="-J-Duser.language=en -J-Duser.country=US"

Pronto, seu netbeans está configurado com o idioma inglês.

segunda-feira, 4 de agosto de 2008

Tutorial - Web Services Com Java

Bem pessoal, quando fui tentar estudar web services por conta própria, de cara, encontrei um forum que me desanimou, dizendo que aprender web service sozinho era uma tarefa meio impossível. Estudei um tutorial com axis (framework da apache), e realmente vi que com aquela ferramenta ir ser difícil, pois para fazer um web service simples de cálculos matemáticos, levei horas.
Mas eu continuei procurando conteúdos e tutoriais, não podia ser tão difícil assim, afinal eu só precisava de um web service para uma consulta simples a um banco de dados. Então pude ver que a coisa era extremamente simples, encontrei o que eu queria.
O jdk 6 já vem com uma api para web services, chamada JAX-WS. Usei essa api no eclipse, e não foi necessário nem servidor de aplicação para testar o web service. Utilizá-la no netbeans é ainda mais simples, você cria seu web service no "clica e arrasta".
Ainda no netbeans, você pode criar web services, sem ficar perdendo muito tempo em arquivos de configuração e comandos via prompt, utilizando o RESTful, que é uma tecnologia que não usa o SOAP.

A seguir coloquei as etapas resumidas para criação de web services usando JAX-WS:

Requerido:
- JDK 6 instalado.

Etapas:
1 – Com o java 6, para criar um web service deve-se usar as anotações @WebService e @WebMethod na sua classe, pois o jdk 6 já vem com a tecnologia jax-ws implementada. Crie a seguinte classe exemplo:

@WebService
public class HelloWeb {

@WebMethod
public String hello(String nome) {
return "Hello " + nome;
}
}

2 – Você deve utilizar a ferramente apt (annotation processing tool) que encontra-se na pasta bin do jdk para gerar as classes do web service. Para isso, dentro do diretório src do seu projeto, use a seguinte linha de comando:

apt pacote\HelloWeb.java

Gera um pacote pacote.javaws com duas classes, uma classe Hello.java para os parâmetros do WebService (no nosso caso String nome do método hello) e outra HelloResponse.java que representa o retorno.

3 - Para publicar o serviço/endpoint e iniciá-lo, use a classe seguinte:

public class PublicaService {

public static void main(String[] args){
HelloWeb service = new HelloWeb();
Endpoint endpoint = Endpoint.publish("http://localhost:8080/hello", service);
}
}

Pronto, o WebService está rodando sem servidor de aplicação nem web container. Tudo isso com javaSE 6 jdk. Para acessar a wsdl dele, usa-se o URL:

http://localhost:8080/hello?wsdl

4 - Para criar o cliente do serviço, o javaSE 6 já vem com as ferramentas necessárias. Precisamos usar o wsimport (na pasta bin do jdk) para gerar as classes do cliente. Com o serviço rodando, fazemos na linha de comando (dentro da pasta src do projeto):

wsimport -keep -p pacote.cliente http://localhost:8080/hello?wsdl

A opção keep não apaga os arquivos fontes e p gera as classes dentro do pacote especificado.

5 - Para chamar o serviço pelas classes geradas, escreva a seguinte classe:

public class TesteServico {

public static void main(String[] args) {
pacote.cliente.HelloWeb port = new HelloWebService().getHelloWebPort();
System.out.println(port.hello("Luis"));
}
}

Repare que a classe HelloWeb que foi gerada pelo wsimport é uma interface, não confundir com o serviço HelloWeb que é uma implementação.

Pronto! Seu web service está funcionando.

Abaixo deixo links de outros tutoriais:

Web Services RESTful no netbeans
Tutorial Axis 1.3 (GUJ)