Alexandre Afonso

É graduado em Sistemas de Informação, trabalha como instrutor na AlgaWorks e está no mercado de programação Java há mais de 8 anos, principalmente no desenvolvimento de sistemas corporativos.

Deploy de aplicações JSF na DigitalOcean

Postado por em   ●   12 comentários

Sabia que você não precisa mais que alguns segundos para configurar seu Droplet na DigitalOcean?

Obviamente é necessário conhecer as opções de configuração. Mas é justamente isso que faço nessa aula. Eu apresento e explico elas pra você.

É uma aula com muita informação sobre como fazer deploy de um projeto JSF e, dentre outras coisas, você vai aprender sobre:

  • Como configurar um Droplet (ou VPS)
  • Como criar um usuário no seu Droplet e configurar a autenticação sem a senha
  • Instalação e configuração do MySQL
  • Instalação do Java e do Tomcat
  • Como automatizar a publicação do seu projeto com um script simples

Continue lendo

Hospedagem JSF no Heroku

Postado por em   ●   31 comentários

Ao desenvolver uma aplicação JSF, nossas maiores preocupações são sobre as tecnologias e as regras de negócio necessárias para isso. Óbvio, não é mesmo?

Mas quero destacar aqui o momento depois que a aplicação é concluída (ou quase) e precisa ir para um ambiente de produção.

Nessa hora começa outra corrida: uma pesquisa pelo melhor lugar para publicar o projeto. Depois que encontra, mais uma: descobrir como essa hospedagem funciona.

Gravei uma aula que vai mostrar para você como funciona uma excelente opção para publicar seu projeto: o Heroku.

Vou mostrar como utilizar a hospedagem grátis do Heroku e mais:

  • O que são os Dynos e seus tipos
  • Como utilizar a cota gratuita
  • Quais são os tipos de processos que o Heroku disponibiliza
  • Como configurar sua aplicação JSF para hospedá-la no Heroku
  • O que é um Procfile
  • E utilizar o Heroku CLI para rodar os comandos necessários para publicar e configurar sua aplicação

Continue lendo

Domine o componente FileUpload do PrimeFaces

Postado por em   ●   43 comentários

Você que usa PrimeFaces, gostaria de dominar o componente de upload de arquivos?

Saber que existe um componente para upload de arquivos na biblioteca do PrimeFaces não diminui muito a quantidade de problemas que podemos ter ao utilizá-lo.

Uma simples configuração errada pode fazer você perder 1 hora enquanto poderia ter gasto apenas 10 minutos, se soubesse um pouco mais de detalhes sobre o componente.

Considerando que o carregamento de arquivos é uma funcionalidade bastante utilizada, acredito (e acho que você vai concordar comigo) que o legal mesmo é conhecer o funcionamento do p:fileUpload.

Caso você queira ser proativo e tomar conhecimento sobre esse componente útil em nosso dia a dia, então continue lendo o artigo para aprender mais sobre:

  • Como fazer um upload compatível com browsers mais antigos ou não-ajax
  • Fazer upload utilizando o modo avançado
  • Carregar mais de um arquivo por vez
  • Fazer upload automático
  • Limitar o tamanho e a quantidade de arquivos carregados
  • Filtrar os tipos dos arquivos que poderão ser escolhidos
  • Escolher arquivos utilizando drag and drop
  • Como fazer o download dos arquivos

Continue lendo

URLs amigáveis em JSF com PrettyFaces

Postado por em   ●   10 comentários

Você quer ter URLs amigáveis em seus projetos JSF?

O PrettyFaces é uma biblioteca open source de reescrita de URLs que facilita a criação de URLs amigáveis (ou Friendly URLs), tornando suas páginas mais acessíveis para os usuários.

Caso, por algum motivo, você precise que seu sistema seja indexado por mecanismos de pesquisa, então seria mais uma vantagem em trabalhar com URLs amigáveis.

Por essas necessidades (e algumas outras que talvez você tenha), gravei uma videoaula mostrando como fazer para ter URLs amigáveis em seu projeto JSF.

Continue lendo

Conversores JSF – O guia absolutamente completo

Postado por em   ●   8 comentários

Conversores JSF é o tipo de coisa que a gente que programa com JavaServer Faces precisa aprender bem.

Não gosto de dizer que alguém “precisa” aprender algo, principalmente quando o assunto é programação, mas conversores é algo que necessitamos com frequência.

Algumas dores de cabeça, com certeza, poderão ser evitadas por saber como utilizar um Converter.

Na verdade, em JSF usamos conversores o tempo todo, mesmo sem notar.

No artigo de hoje, você vai aprender tudo o que precisa saber sobre conversores, para integrar melhor seu modelo com os componentes JSF.

Continue lendo para aprender mais sobre:

  • Porque os conversores são necessários
  • Quais os conversores padrão do JSF que você já usa mesmo sem querer
  • Como usar o DateTimeConverter
  • Como usar o NumberConverter
  • Como criar seu próprio Converter JSF

Continue lendo

Como exibir a FacesMessage depois do redirect com o escopo Flash do JSF

Postado por em   ●   23 comentários

Você sabe como fazer para exibir as mensagens JSF na tela mesmo após um redirect?

O JSF tem uma maneira bem específica de fazer uma mensagem chegar até o usuário do sistema.

É um jeito bem legal de se fazer isso, mas que NÃO dá, por padrão, o suporte para exibição de mensagens após um redirecionamento. Inclusive, esse é justamente o assunto de agora.

Continue lendo o artigo para aprender como usar o Flash do JSF para resolver esse problema.

Continue lendo

Como integrar JSF e Spring

Postado por em   ●   29 comentários

Gostaria de utilizar o melhor dos dois mundos?

Não é porque o JSF está naturalmente integrado com outras especificações Java EE, que é proibido utilizar ele com Spring.

Por que não utilizar o melhor do JSF com o melhor do Spring? Assim podemos ter a produtividade do JSF junto com todos os recursos do ecossistema Spring.

Um não exclui o outro. Pelo contrário, eles são perfeitamente integráveis e veremos agora como fazer isso.

Entre outras coisas, nesse artigo, você vai aprender:

  • Por que integrar JSF e Spring
  • Quais os benefícios dessa integração
  • Como integrar JSF e Spring para dar aos beans do Spring Framework o papel de um Managed Bean
  • A adicionar o ViewScope no Spring

Interessado? Vamos lá então.

Continue lendo