Gerando arquivos txt, html, pdf, xls, rtf, doc, xml, xls e ppt com Java

olá Pessoal,
Meu amigo Juliano Martins tem um projeto legal e simples para gerar txt, pdf, xls etc.  usando o velho e querido Java. Para nao perder a graça Configra o post dele abaixo:

Executáveis e código fonte podem ser baixados daqui: http://code.google.com/p/jfilecreator/
Blog do autor aqui: http://jmmwrite.wordpress.com
Aproveitem e divulguem, pode ser útil aos “javeiros

É comum em nossos projetos precisarmos de uma massa de arquivos para testar algo. Porém, eventualmente precisamos de vários arquivos com conteúdo real, ou seja, com texto verdadeiro, e não simplesmente arquivos gerados baseados em palavras randômicas. Além disso, tambem surge a necessidade de exportarmos conteúdo para um tipo de arquivo.

Para resolver um problema pontual em meu atual projeto, mas já contribuindo com a comunidade, lancei o jFileCreator (aka: Acarajé… coisas do projeto), que é um programa open source, com código fonte bem didático e de fácil reaproveitamento.

O mesmo gera: txt, html, pdf, xls, rtf, doc, xml, xls e ppt.

Executáveis e código fonte podem ser baixados daqui: http://code.google.com/p/jfilecreator/

Blog do autor aqui: http://jmmwrite.wordpress.com

Aproveitem e divulguem, pode ser útil aos “javeiros”.

Rally Java EE – Indique e ganhe!

Folder-Rally-RallyDay

Olá Pessoal,

É com muito prazer que venho aqui, convida-los para o Rally Java EE OpenSource, concerteza será um Rally de conhecimentos. Eu gostaria muito de participar, mas no periodo do Rally estarei de férias e infelizmente não posso cancelar.

Em contato com a equipe do Rally, fizemos uma parceria bem interessante, para motivar mais ainda a participação. Aquele que indicar o nro maior de amigos para participar da competição, vai levar meu filho pra casa, ou seja, “Guia do Exame SCJP”.

E não para por ai, a equipe do Rally vai distribuir código de acesso para o SimSCJP Premium independente da categoria que que você vai concorrer.

Confira as informações aqui.


Então vai ficar de fora?

Não vou mentir, estou resistindo muito para não participar desse rally, independente dos prêmios, acredito que o conhecimento e experiência tem mais valor que qualquer produto de consumo, então se vc está com o tempo e vontade de participar, manda bala. A vida é curta e precisamos aproveitar cada momento dela. O que vc vai contar para seu filho e seu neto? Diga que pelo menos participou de um Rally.

Abracos pessoal e boa sorte no projeto de vocês!!

Adquira seu Simulado SCJP – SimSCJP Premium

Simulado SCJP – SimSCJP Premium

opa Pessoal,

É com muito prazer que venho fazer o lançamento do SimSCJP Premium. Após meses de testes com o SimSCJP Free, resolvemos lançar a versão Premium, que é uma versão paga com 6 simulados exclusivos para SCJP com questões em português/inglês + Timer. Para que vc possa testar seus conhecimentos para a famosa SCJP.

Sabemos que 50% do processo para tirar a certificação está no aprendizado e entendimento dos objetivos do exame, os outros 50% está relacionado à parte pratica e os simulados. Pois, uma coisa é entender e outra é colocar em prática e outra é pegar uma questão e saber a qual assunto aquela questão se refere e como mata-la. Pra isso, temos os simulados que vem com o objetivo de unir a teoria com a pratica de forma eficiente.


Na época da minha maratona rumo à SCJP, fiz vários simulados, pois este é o ponto chave também. Cada simulado tem uma forma diferente de fazer a pergunta, de apresentar os codes etc. E isso contribui, pois no exame foram desenvolvidas mais de 4 mil questões por diferentes profissionais, então cada um elaborou de uma forma diferente. E não é recomendado, ficarmos acostumados apenas com o modelo X de pergunta do autor Y. Lembro que adquirir o whizlabs por um pouco mais de $50,00 e considero este um dos melhores simulados para SCJP, onde o qual tive como referencia para criar o SimSCJP. Whizlabs foi o ponto chave, para que eu pudesse criar questões com o nível de dificuldade semelhante ao exame real e prestar atenção nas pegadinhas. Na época sentia falta disso em português. Dai veio o SimSCJP que contém tanto perguntas em português quanto em inglês.


Quanto custa?

Foi um ponto de discussão, quanto cobrar? Buscamos de todas as formas oferecer um valor que todos pudessem pagar e não apenas uma parte dos futuros programadores certificados SCJP. Então o investimento é de R$ 19,90 no cartão ou boleto bancário pelo Pagamento Digital – Buscapé.

Confira todos os detalhes e mais informações na Página SimSCJP e lá vc pode testar a versão free antes de comprar SimSCJP Premium.

Espero que tenham gostado da novidade.


SimSCJP – Premium – Confira!!

see ya, guys! :).

Desconto Exclusivo Livro Guia SCJP – Confira!!

scjpguiasmall

olá Pessoal, Tenho ótimas noticias. Em parceria com a Editar Ciência Moderna, vamos fornecer aos leitores do blog um desconto de 30% na compra do Livro Guia do Exame SCJP. pelo  site da própria Editora. Basta o leitor informar o código V00014.

Bem, sou daqueles de aproveitar qualquer desconto, fico ligado nas promoções e ofertas dos sites que tenho hábito de realizar compras. Aproveito o valor do desconto para apreciar com moderacao a velha e mais conhecida cevada.Isso para neutralizar o calor da Bahia. 🙂

Então pessoal aproveitem a promoção e garanta o seu Guia do Exame SCJP.

abracos, see ya!

Criando um pool de conexão JEE/TomCat

olá Pessoal,

O post desta semana é sobre pool de conexão, veremos como usar em uma aplicação JEE. Apesar de ter o mesmo efeito de fecharmos de forma programatica uma conexão, mas nem sempre esta ultima é melhor, principalmente em produção uma conexão pode ficar aberta, outra vem a ser aberta e por ai vai até estourar o nosso BD. E para retornar o normal tem que ter dar um restart no tomcat. Imagine em dar um restart no servidor em produção por causa disso?

Até a implementação do pool de conexão é bem lógico e bem refatorado, basta ter o JNDI e pronto. Quando precisar alterar vamos em um local e aonde o JNDI é referenciado já está atualizado (obvio).

Lets go…

Posts recomendados:

MySql + Java

Criando dynamic web project

Pool de Conexão

O pool de conexão é usado do lado do servidor independente da IDE que você está usando, porém cada servidor e IDE tem suas config especiais para o uso do Pool, ou seja, no tomcat é de uma forma, no Jboss eh outra, no glassfish também. E na IDE Netbeans pode mudar, que ele organiza um projeto JEE levemente diferente da IDE eclipse. Mas, nada que o programador precise “comprar um livro” para esse fim.

Requisitos:

Tomcat 5.5/superior – Instalação

Eclipse
MySql – 5.x

Antes de colocar mão na massa certifique-se que você tem o conectar 5.x.jar MySql . Pois, vamos precisar dele em nosso projeto JEE.

  1. crie um novo dynamic web project
  2. Abra o arquivo web.xml e na aba Tree clique em Resources.
  3. Precisamos adicionar uma referência para isso clique em add e deixe conforme abaixo:

< resource-ref>
    < res-ref-name>jdbc/blog
    < res-type>javax.sql.DataSource
    < res-auth>Container
  < /resource-ref>
  1. O name pode ser qualquer um, como jdbc/nomequevcquer
  2. crie um package para conexão br.com.conexao

  3. Agora crie uma classe chamada Conexao com o método a seguir:

import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class Conexao {

	public static Connection getConnection() throws Exception{

		InitialContext context = new InitialContext();
DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/blog");

		try {

			return ds.getConnection();
		} catch (SQLException e) {

			throw new Exception(e.getMessage());
		}}}
  1. o método lookup tem como objetivo buscar o jdni que criamos no web.xml

Configurando o config BD no TomCat

  1. crie um arquivo em META-INF chamado context.xml
  2. Aqui vamos passar as configurações do BD para o JNDI que criamos, ou seja, jdbc/blog. Vamos informar qual usuário/senha e schema do BD aquele JNDI deve conectar.

	
	

Então podemos ter vários JNDI em um mesmo context.xml com usuários/senha + schema diferentes. Isso ajuda quando precisar fazer alterações de teste para produção, basta mudar em um lugar. E pronto.

A JNDI é uma API para acesso a serviços de diretórios que permite aplicações cliente descobrir e obter dados ou objetos através de um nome. A API JNDI é utilizada em aplicações Java para acessar recursos externos, como banco de dados, filas ou tópicos JMS e componentes da plataforma Java EE. (Edson Gonçalves).”

Adicione ao projeto o driver do BD na pasta lib. Lembre-se de copia-lo fisicamente para o eclipse, ou seja, saia do eclipse e copie o .jar, pois o eclipse não faz isso automaticamente quando add via library da própria IDE.

Testando

Para testar vamos criar um simples servlet que vai estabelecer a conexão e se der tudo tudo certo, não veremos nenhuma exceção e será impresso uma mensagem.

Mas, antes disso criamos uma pagina .jsp que chama o servlet. Fizemos isso para ser mais rápido e e simples. Já que precisamos apenas saber se o nosso pool está funcionando corretamente.

Servlet.java

  1. crie um package br.com.servlet

  2. Crie um servlet TesteAPP conforme abaixo:

public class TesteAPP extends HttpServlet {
	private static final long serialVersionUID = 1L;

    public TesteAPP() {
        super();
        // TODO Auto-generated constructor stub
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		try {
			Conexao.getConnection();
			System.out.println("conexão estabelecida com sucesso");

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();}}

note: Se usou o assistente do eclipse para criar um servlet, fique atento se não mudou o <url-pattern> . Caso não tenha feito este leva o mesmo nome da class Servlet.

Index.jsp

Apenas encaminha a solicitação para o servlet TesteAPP

Execute o projeto, e veja o resultado esperado.



Note: Não esqueça de verificar se o Banco de dados foi iniciado. Ou seja, deu start no BD? Senão vai receber uma exceção: Communication failure link

Simples não? Vou ficando por aqui e espero que tenham gostado do post.

Abraços, see you next post. :).