Eclipse Helios

Acaba de ser lançada a nova release da IDE mais popular para o desenvolvimento de código Java denominada Eclipse Helios. A IDE é liberada sob a Eclipse Public License e já se encontra disponível para download.

A plataforma pra desenvolvimento web conhecida como WTP vem agora com suporte a JSF 2, Servlet 3 e Tomcat 7, além de debugger JavaScript em tempo de execução.

Outra característica nova é a Eclipse MarketPlace Client que provê uma maneira facilitada para a procura e instalação de novos plugins.

Novas features

  • Eclipse Communication Framework (ECF)
  • Java Devlopment Tools (JDT)
  • Javaserver Faces (JSF) Tools
  • PHP Devlopment Tools (PDT)
  • Rich Ajax Platform (RAP)

Bons códigos!


JSF – Combo utilizando t:selectItems

Neste post irei demonstrar a utilização do componente <t:selectItems>, que é componente responsável por popular os dados no componente <h:selectOneMenu>.

Utilizarei Tomcat, Hibernate e MySQL para a persistência de dados e disponilizarei o projeto para download.

Estrutura do projeto

Versões utilizadas

  • Eclipse 3.5.2
  • JDK 1.6
  • Tomcat 6.0.18
  • MyFaces 1.2.5
  • Tomahawk 1.1.8
  • RichFaces 3.3.1
  • Hibernate Annotations 3.4.0
  • Hibernate 3.3.1
  • MySQL 5
  • MySQL Query Browser 1.2

Leia o resto deste post »


JSF – Combo utilizando f:selectItems

Neste post irei demonstrar a utilização do componente <f:selectItems>, que é componente responsávelpor popular os dados no componente <h:selectOneMenu>.

Utilizarei Tomcat, Hibernate e MySQL para a persistência de dados e disponilizarei o projeto para download.

Estrutura do projeto

Versões utilizadas

  • Eclipse 3.5.2
  • JDK 1.6
  • Tomcat 6.0.18
  • MyFaces 1.2.5
  • RichFaces 3.3.1
  • Hibernate Annotations 3.4.0
  • Hibernate 3.3.1
  • MySQL 5
  • MySQL Query Browser 1.2

Leia o resto deste post »


CRUD – Flex + Java

Neste post irei demonstrar como criar e executar um simples CRUD utilizando Flex + Java.
A comunicação entre objetos Flex/Java acontece por um protocolo binário denominado de AMF que se encarrega de compactar e transferir os dados. Atualmente temos várias implementações que suportam o protocolo AMF, no exemplo demonstrativo utilizo o BlazeDS para fazer a comunicação Java/Flex.
No fim do post disponibilizo o projeto completo que pode ser facilmente importado e executado.
É necessário que o leitor saiba o básico de programação Web utilizando banco de dados.

Versões utilizadas

  • Adobe Flex Builder 3.0 (build 3.0.2.214193)
  • JDK 1.6.0_18
  • Apache Tomcat 6.0.24
  • BlazeDS 3.2.0.3978
  • MySQL Server 5.1
  • MySQL Query Browser 1.1.17
  • Hibernate 3

Estrutura do Projeto

Leia o resto deste post »


JSF – Aplicação rich:editor + Facelets

Neste post irei demonstrar a utilização do componente rich:editor que faz parte da biblioteca de componentes RichFaces.

O rich:editor é um componente usado para a criação de um editor em páginas. Seu uso é relativamente simples e o resultado é impressionante.

A aplicação consiste num cadastro de Rascunhos onde o usuário poderá cadastrar e remover seus rascunhos de uma forma prática e simples. Para gerenciar as sessões/transações do Hibernate criei um serlvet filter Open Session In View fazendo papel de um interceptador, que será executado a cada request e response.

Utilizarei Tomcat, Hibernate e MySQL para a persistência de dados e disponilizarei o projeto para download.

Estrutura do projeto

rich_editor

Versões utilizadas

  • Eclipse 3.4.1
  • JDK 1.6
  • Tomcat 6.0.18
  • MyFaces 1.2.5
  • RichFaces 3.3.1
  • Hibernate Annotations 3.4.0
  • Hibernate 3.3.1
  • MySQL 5
  • MySQL Query Browser 1.2

Códigos

Rascunho.java:

package br.com.serjaum.modelo;

@Entity
@Table(name="rascunho")
public class Rascunho implements Serializable{

 private static final long serialVersionUID = -6142163109498247473L;

 @Id
 @GeneratedValue(strategy=GenerationType.IDENTITY)
 @Column(name="RASCUNHO_ID")
 private Long id;

 @Column(name="titulo")
 private String titulo;

 @Temporal(TemporalType.DATE)
 @Column(name="data")
 private Date data = new Date();    

 @Lob
 @Column(name="conteudo")
 private String conteudo;

...
}

Leia o resto deste post »


JSF – Migrando CRUD para Facelets

Neste post irei fazer a migração da nossa aplicação JSF completa utilizando RichFaces + Hibernate + MySQL na prática para Facelets.

Algumas das características do Facelets:

  • Utilização do XHTML como camada de visão da aplicação;

  • Permite a criação de componentes reutilizáveis;

  • Aumenta a performance da aplicação de 30% até 50% comparado com JSP, pois não usa a compilação para servlet;
  • Criação simplificada de templates;

  • Uso de código JSF em tags HTML com o atributo jsfc (não é muito recomendado);
  • Camada de visão padrão para o JSF 2.0;

Mais informações >>aqui<<.

Versões utilizadas

  • Eclipse 3.4.1
  • JDK 1.6
  • Tomcat 6.0.18
  • MyFaces 1.2.5
  • RichFaces 3.3.1
  • Hibernate Annotations 3.4.0
  • Hibernate 3.3.1
  • MySQL 5
  • JUnit 4.5
  • Caelum Stella 1.2

Estrutura do projeto

crud_facelets

Leia o resto deste post »


JSF – Tutorial RichFaces + Hibernate + MySQL – CRUD completo (Parte Final)

Este é o último post referente à nossa aplicação JSF completa utilizando RichFaces + Hibernate + MySQL na prática.

Dando continuidade ao desenvolvimento da nossa aplicação, adicionarei a parte de autenticação, pois percebi nas listas e fóruns que esse é um problema comum, onde desenvolvedores se deparam frequentemente, por não se tratar de um problema trivial.

Na implementação usarei um Servlet Filter fazendo papel de um interceptador, que será executado a cada request e response. Ele verificará se o usuário pode se logar no sistema, caso contrário redirecionará o mesmo para uma página de login.

Estrutura do projeto

estrutura_final

Códigos

AuthFilter.jsp:

package br.com.serjaum.filtro;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AuthFilter implements Filter {

 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
 HttpServletRequest rq = (HttpServletRequest) request;
 HttpServletResponse rp = (HttpServletResponse) response;
 boolean auth = rq.getSession().getAttribute("user") != null;

 if (!auth && !rq.getRequestURL().toString().contains("login.jsf")) {
 rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
 } else {

 try {
 chain.doFilter(request, response);
 } catch (Exception e) {
 e.printStackTrace();
 }
 }
 }    

 public void destroy() {

 }

 public void init(FilterConfig config) throws ServletException {

 }
}

Leia o resto deste post »