org.hibernate.Session Hibernate Solução Eclipse

olá Pessoal,

Hoje vou apresentar um pequeno probleminha que alguns já passaram usando o hibernate. Porém, o problema não é do framework e sim do Eclipse que não importa os .jars quando este é adicionado usando library da própria IDE. A situação é bem simples: “o programador está convicto que tudo está OK, nao falta nenhum .jars, os imports correto etc.” Mas, ao executar aplicação e tentar salvar algo no BD, recebe uma exceção org.hibernate.Session.

Neste post vou mostrar aonde está o problema.

Lets go…

O problema

Como relatei o problema é na IDE Eclipse que ela nao faz os imports dos .jars que você adicionou ao projeto usando library. Que na verdade os .jars deveriam está na pasta lib do seu projeto fisicamente. Porém não é isso que acontece. Experimente ir na pasta lib do seu projeto e veja se vai ver algum .jar do hibernate. Acredito que não e por isso temos essa exceção em um caso como esse.

Abaixo olha os testes que e fiz e como solucionei (acredito que você já sabe como é):

Criei um projeto simples, que cadastra um cargo no BD. Somente para mostrar o problema.

  1. Vamos felizes da vida tentar cadastrar uma novo cargo

  2. Olha que beleza:

  3. Vamos ver o que temos na pasta lib do meu projeto:

  4. Bem,  Não vejo meus arquivos .jars do hibernate que adicionei ao projeto. Onde estão sr. Eclipse? Esse é o problema do Eclipse, nos adicionamos os ,jars e ele nao copia fisicamente os .jars para a pasta lib. Isso dar certo quando é projeto não é  JEE. Como falei neste post.

  5. A solução, é copiar os .jars veja:

  6. Agora vamos testar app novamente

  7. Verificando no meu BD ver:

Pronto, resolvido o problema! Bem, Nem sempre a exceção com hibernate.session está relacionada com a falta dos .jars, as vezes é erro de programação mesmo. Mas, quando você está certo dos seus codes e está usando o Eclipse, não esqueça de ir a pasta lib do projeto e verificar se os .jars do Hibernate realmente estao no seu projeto.

Vou ficando por aqui, espero que a dica tenha ajudado quem está passando por essa situação, eu ja mandei uma nota para equipe do Eclipse, mas eles disseram que isso não é um bug da IDE. Bem, o NetBeans não  tem isso, todas as libraries adicionadas ao projetos, temos os .jars fisicamente no projeto. Então, será que não é uma falha do nosso querido Eclipse? Eu ja reclamo disso desde da versão antes Galileo.

Abracos, see you next post.

Criando Projeto Struts no Eclipse Jboss tools

 

Olá Pessoal,

Nesse post veremos como criar um projeto Struts no Eclipse, veja como é bem simples ter um Struts Project usando o Jboss Tools. Se não tem o Jboss tools configurado no eclipse veja o “post relacionado”. O objetivo deste post é para quem está querendo dar os primeiros passos com Struts, porem nao sabe por onde começar.

Lets go…

 

 

Não irei abordar alguns conceitos tais como: vantagens, quando usar?, por que usar?. Na verdade isso daria um novo post. Para quem tiver interesse em saber mais sobre Struts podem dar uma olhada no link a seguir e também nas vagas de emprego para Java, tenho 99% de certeza de 10 vagas para programador JEE minimo 8 vão pedir do candidato Struts como requisito.

O que é Struts?

Post Relacionado

 

  1. Uma vez com o JBoss configurado, clique em File ==> Project

  2. Localize o diretório Jboss Tools Web

  3. E agora dentro do diretório Struts escolha Struts Project

  4. Clique em next

  5. Dê um nome ao seu projeto e clique em next

  6. Agora escolha o servidor. Nesse caso vamos usar usar TomCat 6

  7. clique em Next

  8. Clique em finish

  9. A estrutura criada deve ser a semelhante a imagem a seguir.

  10. Agora vamos criar uma classe Java com Struts que vai imprimir apenas uma mensagem no browser confirmando a execução do Struts. Portanto crie um package br.com.camilo.struts

  11. Agora crie uma nova classe no package criado no passo anterior, com o nome de TesteStruts tendo como SuperClass a classe Action do Struts. Veja como deve ficar:

  12. Agora atualize sua classe com o código abaixo

 

package br.com.camilo.struts;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class TesteStruts extends Action {
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception{
		/* esse metodo retorna uma mensagem para o struts-config.xml
		 * ao chegar no arquivo struts-config.xml e encontrar o nome done
		 * a pagina eh encaminhada para um arquivo .jsp
		 */
		return mapping.findForward("done");}}

    Mas por que fazer o forward via arquivo .xml do Struts se posso fazer direto do arquivo .java colocando o xx.jsp ??

    A resposta é bem simples se o nome do arquivo mudar, e vc tem 10 classes que faz esse forward para aquele arquivo o que fazer? Atualizar manualmente arquivo por arquivo e se vc esquecer de 1 ou 2 ou mais. Se for 100 arquivos ? Então percebeu o problema? Com o .xml vc somente vai precisar alterar em um local o novo nome do arquivo. Claro que vc pode cair na mesma situação se inventar de alterar o nome de retorno para aquele tipo de redirecionamento, mas ai é outra situação.

     

    1. crie agora um arquivo .jsp chamado de teste.jsp (clique com o botão direito no projeto ==> New File ==> JSP )

    2. Dentro da tag <body> digite a mensagem que deseja visualizar para testar a funcionalidade do Struts.

    3. Agora abra o arquivo struts-config.xml no modo Source.(veja no rodapé do eclipse esta opção)

      Precisamos configurar agora o nosso arquivo .xml do Struts para fazer o redirecionamento é bem simples. Deixe conforme a seguir. Um

      Erro comum a ser cometido é o esquecimento de colocar / no path e o nome class em type.

      1. Para testar nossa aplicação vamos digitar http://localhost:8080/app/testando.do

      2. Esse .do vem la da configurado do arquivo web.xml, abra o arquivo e veja pq nesse caso devemos ter o .do. Não existe nenhum arquivo físico com esta extensão é apenas um nome lógico utilizado e uma recomendação.

      3. Antes de testar aplicação precisamos reiniciar o TomCat então clique no botão do meio.

        Se não encontra-lo, veja em que perspectiva vc está usando. Deveria ser Java EE

      4. Agora abra o webbrowser dentro do próprio eclipse

      5. E digite o endereço abaixo, caso seguiu o mesmo nome usado nesse post

        http://localhost:8080/BlogStruts/testando.do

      6. O resultado deve ser o seguinte:

         

      Bom vou ficando por aqui e espero que tenham gostado dessa pequena introdução com Struts. Foi na verdade mais uma motivação para quem colocou o framework na lista de estudos. Abraco a todos e até o próximo post.

       

      Criando Projeto Struts no Eclipse usando Jboss tools

       

      Olá Pessoal,

       

      Nesse post veremos como criar um projeto Struts no Eclipse, veja como é bem simples ter um Struts Project usando o Jboss Tools. Se não tem o Jboss tools configurado no eclipse veja o “post relacionado”. O objetivo deste post é para quem está querendo dar os primeiros passos com Struts, porem nao sabe por onde começar.

       

      Lets go…

       

      Não irei abordar alguns conceitos tais como: vantagens, quando usar?, por que usar?. Na verdade isso daria um novo post. Para quem tiver interesse em saber mais sobre Struts podem dar uma olhada no link a seguir e também nas vagas de emprego para Java, tenho 99% de certeza de 10 vagas para programador JEE minimo 8 vão pedir do candidato Struts como requisito.

       

      O que é Struts?

       

      Post Relacionado

       

       

      1. Uma vez com o JBoss configurado, clique em File ==> Project

      2. Localize o diretório Jboss Tools Web

      3. E agora dentro do diretório Struts escolha Struts Project

        <struts1>

      4. Clique em next

      5. Dê um nome ao seu projeto e clique em next

        <struts2>

      6. Agora escolha o servidor. Nesse caso vamos usar usar TomCat 6

        <struts3>

      7. clique em Next

        <struts4>

      8. Clique em finish

      9. A estrutura criada deve ser a semelhante a imagem a seguir.

        <struts5>

      10. Agora vamos criar uma classe Java com Struts que vai imprimir apenas uma mensagem no browser confirmando a execução do Struts. Portanto crie um package br.com.camilo.struts

      11. Agora crie uma nova classe no package criado no passo anterior, com o nome de TesteStruts tendo como SuperClass a classe Action do Struts. Veja como deve ficar:

        <struts6>

      12. Agora atualize sua classe com o código abaixo

        package br.com.camilo.struts;

        import javax.servlet.http.HttpServletRequest;
        import javax.servlet.http.HttpServletResponse;

        import org.apache.struts.action.Action;
        import org.apache.struts.action.ActionForm;
        import org.apache.struts.action.ActionForward;
        import org.apache.struts.action.ActionMapping;

        public class TesteStruts extends Action {

        public ActionForward execute(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response) throws Exception{
        /* esse metodo retorna uma mensagem para o struts-config.xml
        * ao chegar no arquivo struts-config.xml e encontrar o nome done
        * a pagina eh encaminhada para um arquivo .jsp
        */

        return mapping.findForward(“done”);
        }
        }

       

      Mas por que fazer o forward via arquivo .xml do Struts se posso fazer direto do arquivo .java colocando o xx.jsp ??

      A resposta é bem simples se o nome do arquivo mudar, e vc tem 10 classes que faz esse forward para aquele arquivo o que fazer? Atualizar manualmente arquivo por arquivo e se vc esquecer de 1 ou 2 ou mais. Se for 100 arquivos ? Então percebeu o problema? Com o .xml vc somente vai precisar alterar em um local o novo nome do arquivo. Claro que vc pode cair na mesma situação se inventar de alterar o nome de retorno para aquele tipo de redirecionamento, mas ai é outra situação.

       

      1. crie agora um arquivo .jsp chamado de teste.jsp (clique com o botão direito no projeto ==> New File ==> JSP )

      2. Dentro da tag <body> digite a mensagem que deseja visualizar para testar a funcionalidade do Struts.

         

        Executando minha pagina com Struts
      3. Agora abra o arquivo struts-config.xml no modo Source.(veja no rodapé do eclipse esta opção)

        Precisamos configurar agora o nosso arquivo .xml do Struts para fazer o redirecionamento é bem simples. Deixe conforme abaixo:

        <code>

       

      Erro comum a ser cometido é o esquecimento de colocar / no path e o nome class em type.

       

      1. Para testar nossa aplicação vamos digitar http://localhost:8080/app/testando.do

      2. Esse .do vem la da configurado do arquivo web.xml, abra o arquivo e veja pq nesse caso devemos ter o .do. Não existe nenhum arquivo físico com esta extensão é apenas um nome lógico utilizado e uma recomendação.

      3. Antes de testar aplicação precisamos reiniciar o TomCat então clique no botão do meio.

        <struts7>

        Se não encontra-lo, veja em que perspectiva vc está usando. Deveria ser Java EE

      4. Agora abra o webbrowser dentro do próprio eclipse

        <struts8>

      5. E digite o endereço abaixo, caso seguiu o mesmo nome usado nesse post

        http://localhost:8080/BlogStruts/testando.do

      6. O resultado deve ser o seguinte:

        <struts9>

         

      Bom vou ficando por aqui e espero que tenham gostado dessa pequena introdução com Struts. Foi na verdade mais uma motivação para quem colocou o framework na lista de estudos. Abraco a todos e até o próximo post.

    JPA com Java Básico MySql

    olá pessoal, nesse post vou apresentar como fazer persistência de dados usando apenas JPA, mas com Java Básico o objetivo é ajudar aqueles que estão dando o primeiro passo com a tecnologia. Não confunda este post com este Java Básico + Hibernate JPA + Mysql são parecidos, mas aqui nos não vamos envolver nada de Hibernate, ou seja, será 100% JPA.

    Recomendado: Você vai precisar configurar a JPA no seu projeto Java, portanto veja no post abaixo:

    *Basta adicionar ao seu projeto o arquivo .jar referente a JPA do pacote hibernate annotations. Nada mais que isso, confira: Java Básico + Hibernate JPA + Mysql

    Outros posts relacionados:

    Preparando o ambiente desenvolvimento

    1. crie um Java project no eclipse

    2. E monte conforme a estrutura abaixo:

    3. A classe TesteJPA  deve conter o método main.

    4. Não esqueça de adicionar o .jar ao seu projeto. Se tem dúvida com fazer isso veja nos posts citados acima.

    Preparando Banco de Dados

    Vamos usar o MySql como BD e vou levar em conta que você já tem o mesmo instalado e configurado. Crie apensa um DataBase e uma table para este. Se quiser seguir o exemplo do post o nosso ficou assim:

    DataBase: sistemas Table: Cliente

    A tabela cliente possui os seguintes campos como VARCHAR(nome,cidade,sobrenome)e um Integer(id). O id é auto_increment e chave-primaria da tabela.

    Desenvolvimento

    Explicando as anotações
    @Entity = é uma entidade que representa uma class bean;
    @Table = mapeia com o nome da tabela. Aqui eu coloquei o table para explicar, mas poderia omitir levando em conta que eu teria uma table no meu BD com o mesmo nome da minha class Bean. Ou seja, se você não especificar qual será a tabela do BD, será considerada o nome do Bean. Tenha atenção se você tem tabelas com nomes diferentes em relação ao seu bean;
    @Id = tem relação com a chave primaria da sua tabela;
    @Column = mapeia com as colunas da sua tabela, segue a mesma regra de table, quando ter colunas com nomes diferentes este campo eh obrigatório, caso contrario non-required ;

    Deixe sua classe Cliente.java conforme abaixo:

    package br.com.bean;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;
    @Entity
    @Table(name="cliente")
    public class Cliente {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    	private int id;
    	private String nome;
    	private String cidade;
    	private String sobrenome;
    
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getNome() {
    		return nome;
    	}
    	public void setNome(String nome) {
    		this.nome = nome;
    	}
    	public String getCidade() {
    		return cidade;
    	}
    	public void setCidade(String cidade) {
    		this.cidade = cidade;
    	}
    	public String getSobrenome() {
    		return sobrenome;
    	}
    	public void setSobrenome(String sobrenome) {
    		this.sobrenome = sobrenome;
    	} }

    A classe ClienteDAO é responsável por implementar o CRUD usando a JPA, vamos ver aqui o salvar, excluir e atualizar. Então atualize seu arquivo ClienteDAO.java conforme abaixo:

    package br.com.dao;
    
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    
    import br.com.bean.Cliente;
    
    public class ClienteDAO {
    
    	EntityManagerFactory emf; 
    
    	private EntityManager getEntityManager(){
    		return emf.createEntityManager();
    	}
    	public ClienteDAO() {
    	emf = Persistence.createEntityManagerFactory("sistemas");
    	}
    
    	public void salvar(Cliente cliente){
    		EntityManager em = getEntityManager();
    		try{
    			em.getTransaction().begin(); //inicia o processo de transacao
    			em.persist(cliente);//permite fazer insercoes e atualizacoes no bd
    			em.getTransaction().commit();//realizo as alteracoes no banco
    		}catch (Exception e) {
    			em.getTransaction().rollback();// se rolar uma excecao cancelo acao
    			e.printStackTrace();//mostro o percurso de onde veio as excecoes
    		}finally{
    			em.close();
    		}
    	}
    	public void excluir(Cliente cliente){
    		EntityManager em = getEntityManager();
    
    		try{
    			em.getTransaction().begin();
    			cliente = em.merge(cliente);
    			em.remove(cliente);
    			em.getTransaction().commit();
    		}catch (Exception e) {
    			em.getTransaction().rollback();
    		}
    	}
    	public void atualizar(Cliente cliente){
    		EntityManager em = getEntityManager();
    		try{
    			em.getTransaction().begin();
    			em.merge(cliente);
    			em.getTransaction().commit();
    		}catch (Exception e) {
    			em.getTransaction().rollback();
    		}}
    	}
    1. Fazendo a persistência de dados no arquivo persistence.xml. Precisamos passar as informações do BD, user, password etc para o arquivo persistence.xml, assim conseguimos a conexao com o nosso BD. Então atualize o arquivo .xml conforme o code abaixo(tive que dar um espaco entre os <  >  pois o plugin para code não estava reconhecendo com XML):

      org.hibernate.ejb.HibernatePersistence
      < persistence-unit name="sistemas" transaction-type="RESOURCE_LOCAL">
      org.hibernate.ejb.HibernatePersistence
              
      		br.com.bean.Cliente
      
                  
                  < property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect" />
                  < property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
                  < property name="hibernate.connection.url" value="jdbc:mysql://localhost/sistemas" />
                  < property name="hibernate.connection.username" value="camilo" />
                  < property name="hibernate.connection.password" value="integrator" />
       
                  < property name="hibernate.show_sql" value="true" />
                  < property name="hibernate.format_sql" value="true" />
                  < property name="use_sql_comments" value="true" />
      
              < /properties>
      
          < /persistence-unit>
    2. Atualizando a classe TesteCliente.java. Precisamos ter uma classe para testar o nosso CRUD com JPA. Para isso teremos uma classe java tradicional com o método main. Eu comentei algumas linhas apenas para poder testar outros recursos. Mas, levando em conta que sua table não há nenhuma informação, vamos executar primeiramente a opção salvar.

      package br.com.teste;
      
      import br.com.bean.Cliente;
      import br.com.dao.ClienteDAO;
      
      public class TesteCliente {
      
      	/**
      	 * @param args
      	 */
      	public static void main(String[] args) {
      		ClienteDAO clidao = new ClienteDAO();
      		Cliente cliente = new Cliente();
      	//	cliente.setCidade("salvador");
      		cliente.setNome("recife");
      		cliente.setSobrenome("neto");
      		//cliente.setId(12);
      		clidao.salvar(cliente);
      		//clidao.excluir(cliente);
      	//cliente.setCidade("Sao Paulo");
      		//cliente.setId(15);
      		//clidao.atualizar(cliente);
      	}
      }

    Não Esqueça:

    • Esteja certo que você deu um start no seu BD.

    • não esqueça dos .jars no seu projeto.

    Verificando dados no BD

    1. Acesse seu banco de dados e veja se a informação inserida realmente consta na tabela. Aqui usei uma ferramenta chamada Mysql Query Browser para facilitar o trabalho com o BD. No meu caso eu fiz varias alterações.

    Vou ficado por aqui e espero que tenham gostado do post. Para quem está em primeiro contato com a tecnologia pode parecer difícil, estranho ou complicado essa estrutura da JPA, mas pode ter certeza que é mais produtivo no ciclo de desenvolvimento.

    Abraços e até o próximo post.

    Mentorização AI IBM Case

    olá Pessoal,

    Desta vez o nosso entrevistado é  o Mario Razec. Para quem não conhece  o Mário é um grande exemplo de aluno e que tem um futuro brilhante. O mesmo tem participado do programa Mentoring Program IBM e resolvi entrevista-lo para que o nosso amigo Razec possa compartilhar um pouco da experiência obtida no programa, além de que forma este impactou na vida acadêmica. Já que durante a mentorização o Mario estava ainda como graduando em Ciência da Computação.

    Lets go…


    Mini-curriculo

    Mario C. Ponciano a.k.a Razec, Bacharel em Ciência da Computação pela Anhanguera Educacional/Leme graduado em dezembro 2009. Onde foi estudante mentorizado IBM o qual pesquisou sobre a Interoperabilidade de Web Services em Sistemas Distribuídos e foi construído um projeto open-source com objetivo de compartilhar pequenos recursos assim como o reuso do código.

    Entusiasta open-source, possui um grande interesse de se tornar Arquiteto de Sistemas e Pesquisador de Novas Tecnologias. Contribuí em projetos open-source, assim como Eclipse Platform além de escrever tutoriais e participar da comunidade de software livre.

    1.blog: como conheceu o Programa ? E por que se interessou ?

    Mário: Através de uma palestra com José Damico, do programa IBM Academic Initiative realizada na Anhanguera Educacional/Leme, onde falou sobre novas tecnologias, hacking, AI, open-source, java, etc.

    O interesse surgiu após mencionar alguns assuntos relacionados com minhas metas, então quando mostrou que poderia colaborar com o open-source através de ferramentas IBM, além de construir algo que a comunidade poderia utilizar e agregar conhecimento para meu futuro.

    2.blog: Além de você quantos outros colegas de sua instituição estão sendo mentorizado pelo programa?

    Mário: Na Anhanguera Educacional/Leme apenas eu. Mas após alguns universitários terem visto o post no blog do IBM Academic Initiative começaram à procurar para tirar dúvidas e para participar do projeto, provando assim que o projeto realmente existe possibilitando que todos tirem proveito.

    3.blog: Fale um pouco como o programa de Mentorização influenciou e tem influenciado na sua vida acadêmica.

    Mário: Influenciou à estudar e buscar pela resposta como um verdadeiro cientista da computação, permitindo ajudar outros com as descobertas realizadas. Aprendi a trabalhar com ferramentas que apenas ouvia-se falar como: RAD, DB2, WebSphere, SOA.

    4.blog: Quais os primeiros pontos no inicio que você considerou como um “obstáculo” ?

    Mário: Acredito que o grande obstáculo são as pessoas ao redor dizendo que tudo é difícil e as respostas a algumas questões exigem pesquisa profunda. Porém acredito que todos os obstáculos podem ser vencidos com a persistência.

    5.blog: Comente um pouco o trabalho do mentor.

    Mário: Como tecnologia tem a tendência de evoluir muito rápido e ao mesmo tempo o mentor, como o próprio nome diz é a pessoa que guia o aprendiz de maneira que não perca seu tempo em busca de algo que não o ajudaria, tem por objetivo em colocar o estudante no caminho certo tirando suas dúvidas e sempre melhorando com idéias objetivas, é feito isto através de pequenas reuniões, e-mail e algumas madrugadas no skype. =)

    6.blog: além da experiência técnica, qual outro tipo de experiência você conseguiu obter desde que entrou no programa?

    Mário: O programa incentivou a aprender o inglês e tenho me dedicado muito a isto, pois toda documentação é em inglês e isto tem contribuído para uma evolução substancial. Obtive também muitos amigos, além de aumentar meu networking e colaborar em projetos open-source.

    7.blog: Fale sobre o seu projeto

    Mário: O projeto consiste na idéia de facilitar a vida do desenvolvedor, todos que desenvolvem sabem como é cansativo toda vez escrever o mesmo trecho de código ou então relembrar como fazer determinada sintaxe. Isto acontece pela razão de existir muitas linguagens de programação com uma sintaxe pré-definida.

    Com esta idéia em mente o projeto permite poupar tempo armazenando pequenos trechos de códigos repetitivos, conhecidos como snippets.

    Exemplo:

    Um usuário aprendeu a utilizar um For-Each-Loop em Java, então cria-se um snippet.

    for (tipo var : coleção) {corpo-do-loop}

    Este pequeno trecho criado pelo o usuário pode ser enviado e armazenado no skypilot-sharing, o trecho armazenado passa a ficar disponível para o desenvolvedor e quando precisar reutilizar o código basta procurar pelo mesmo, através do plugin criado para o Eclipse e adicionar o trecho do código ao projeto, sem a necessidade de reescrever novamente o trecho do código, ou relembrar a sintaxe.

    Maiores informações sobre Projeto: Skypilot-Sharing (US) ou Skypilot-Sharing (BR)

    8.blog: Mario, que mensagem você poderia deixar para os alunos que ainda não se “despertaram” para o programa?

    Mário: Aproveite a oportunidade e corra atrás de suas metas tendo em mente as palavras de Napoleon Hill: “Action is the real measure of intelligence.”

    9.blog: Gostaria de Agradecer a Alguém?

    Mário: Sim. Afinal tudo isto consegui concluir graças aos IBMers Argemiro Lima perdendo algumas horas de sua madrugada no skype, Juliano Martins, José Damico e obrigado Camilo Lopes pela oportunidade de explicar um pouco mais sobre o IBM Academic Initiative.

    Mario, eu que tenho agradecer a você por ter disponibilizado um pouco do seu tempo e compartilhado essa valiosa experiência e ficando ai como um exemplo para os demais alunos, que vivem reclamando da vida. A persistência e o acreditar são pontos chaves em nossa vida.

    abracos,  see you next post.


    Follow me: http://twitter.com/camilolope

    Undeploy e Deploy Tomcat Eclipse

    Olá Pessoal,

    Neste post veremos um video cedido pelo autor Edson Gonçalves mostrando como fazer um undeploy/deploy no TomCat dentro da IDE Eclipse, vejam é que bem simples e fácil. Confiram abaixo o video.

    Se nao conseguir visualizar o video clique aqui.

    Simples não?! abracos e até o próximo post!