Monthly Archives: June 2007

Eclipse Europa

Finalmente o tão esperado Eclipse Europa foi lançado. Já fazia um tempo que a comunidade java estava anciosa e voltada para esse lançamento, esperando as novas funcionalidades.

Confira as melhorias e funcionalidades

  • Melhor suporte a debugging, incluindo hyperlink stepping
  • Uma nova funcionalidade de Quick Access (ctrl-3) para melhorar a navegação na IDE
  • Refactoring adicional e “Quick Fix/Assist”
  • Task-focused development (Mylyn)

Confira a lista completa de funcionalidades

Download

Mais um livro da série Head First

Vai ser lançado mais um livro dos amantes da série Head First. Em agosto será disponibilizado para vendas o livro Head First SQL (HFSQL). No início de suas publicações, a série tinha o intuito de se focar no java, porém já lançou diversos livros direcionados a outros assuntos, como PMP, HTML e CSS, AJAX e outros. Será se vai ser mais um excelente livro dessa série?

Pré-lançamento do livro

Passei na Sun Certified Web Component Developer


Hoje fiz a prova SCWCD e passei com o escore de 73%. Achei a nota boa, por ter tido pouco tempo para estudar.

Achei essa prova mais fácil do que a SCJP, justamente por não ter cascas de banana e pegadinhas. Essa prova é bastante direta, ou você sabe ou não sabe. A matéria é maior do que a de programador, com bastante coisa para decorar. O tempo é muito justo, fiz a prova em 1 hora e a revisei em 15 minutos. O único simulado que fiz foi o do livro (HFSJ) , que é mais difícil do que a prova. O que achei mais impressionante foi a semelhança entre as questões da prova e as do simulado do livro, tinha uma questão na prova idêntica a do livro.

A prova

Nº de questões: A prova consta de 69 questões e você tem que acertar no mínimo 44 questões
Tempo: 2h e 15 minutos

Tipo de Questões

  • Múltipla escolha (2 e 3 opções)
  • Drag and drop
  • Uma resposta


Resumo da prova

  • Design Patterns – caiu umas 6 questões, com foco em Intercepting Filter
  • Segurança – foi um dos tópicos que caiu mais e um dos que mais errei, justamente por ter bastante configuração no deployment descriptor (web.xml)
  • EL e Standards Actions – várias questões sobre sua utilização
  • Filtros – teve umas 4 questões, bem fácil
  • Custom Tags – para a minha sorte, caíram poucas questões
  • Tecnologia Servlet – bem fáceis
  • Session Management – foi o assunto que mais caiu na minha prova, foram mais de 10 questões sobre sessões
  • Distribuição de aplicações web – caiu bastante também, questões sobre configuração de servlets, filtros, listeners, ejbs, páginas de erro, welcome file…


Recomendações

Livro: Head First Servlets & JSP
Especificações: Servlet 2.4, JSP 2.0 e JSTL 1.1
Simulados: JWebplus e Whislabz
Fóruns: JavaRanch (excelente), Portal Java e GUJ

Downloads

Resumos
Web.xml completo

NullPointerException não devia se chamar ErrorOfProgrammerException?

Recentemente no trabalho fui chamado por um Analista para tirar uma dúvida no seu código. Adivinha qual era o erro? Claro que o erro era de NullPointerException, mais conhecido como “erro do programador”. O Phillip Calçado escreveu um excelente artigo, chamado Contratos Nulos, onde ele explica claramente e absurdamente bem como evitar esse erro, utilizando boas práticas de programação.

Mas a questão é, por que os programadores não evitam esse tipo de erro?

Um exemplo bem comum desse erro:

Método algumaCoisa

Método main

Se por algum motivo o método algumaCoisa receber por parâmetro um objeto String que aponta para null, esse método irá lançar uma NullPointerException. O erro se dá por conta do objeto param chamar o método equals sem ter uma referência.

Então, para evitar esse erro faça:

Método algumaCoisa




Com certeza deve existir outras formas de evitar vários erros de NullPointerException, mas a principal falha é dos programadores, por não “visualizarem” esses erros nos seus códigos.

Jazoon 2007


Começou neste domingo (24/06) a maior conferência sobre Java da Europa, o Jazoon 2007. O evento tem lugar em Zurique, na Suiça, e conta com dois representantes do CEJUG (Ceará Java Users Group): Felipe Gaúcho e Hildeberto Mendonça. O Jazoon teve início no domingo, com vários tutoriais sobre a plataforma Java. A conferência propriamente dita começará na segunda-feira e se estenderá até quinta-feira.

Mantenha-se atualizado sobre o evento no site do CEJUG!

Evitando códigos java na JSP


Hoje em dia todo programador sabe que é uma boa prática de programação não colocar scriptlets, expressões e declarações em páginas JSPs. Mas você é um gerente de projeto ou líder de uma equipe antenado e atualizado e pediu formalmente
para seus programadores não colocarem esses códigos nas páginas. Mas e se eles continuarem colocando esses códigos, mesmo sabendo que não é permitido no projeto? Você poderá tomar algumas providências drásticas caso isso ocorra, como por exemplo dar um grande puxão de orelha na pessoa que fez isso.

Então, para evitar coisas como essa:

Por favor, no Deployment Descriptor (web.xml) da sua aplicação coloque esse código abaixo :



Se você colocar esse código na JSP:


<% Object object = new Object(); %>


Você irá ver esse bonito erro:

Scripting elements ( <%!, <%=, <jsp:expression, <%, <jsp:scriptlet ) are disallowed here.


Então, mesmo pedindo para seus programadores não utilizarem esses códigos, não custa nada garantir a não utilização desses códigos de uma forma mais segura.

Mais um framework MVC made in Brasil

Foi lançado mais um framework MVC brazuca, o Neo Framework. A moda já pegou e a comunidade java brasileira está cada vez mais centralizada em criar seus próprios frameworks. Pessoalmente eu acho isso muito bom, pois observo que a cada dia que passa as pessoas estão caindo na real de que nós não podemos “viver presos à outras nações”, ou seja, presos aos idiomas e documentações. Não estou sendo radical, é bom e essencial para a nossa área saber inglês e outras línguas, pelo contrário, gosto muito de inglês e de bandas com letras nesse idioma. Apenas estou querendo dizer que esse lado é bom, pois valoriza a comunidade java brasileira.

Outro exemplo de framework brasileiro é o Mentawai, que está sendo bastante utilizado e eu tive o prazer de conhecer o seu funcionamento, criando alguns testes. Ele é baseado em configuração programática, sem a utilização de arquivos XML, Annotations ou qualquer outro tipo de metadata. Informo aos meus conterrâneos da terra da luz (Fortaleza) que o site/sistema do Tribunal de Contas do Estado do Ceará utiliza o Mentawai como framework MVC. A sua documentação é bastante rica, com diversos exemplos de utilização e webapps de exemplos e possui um fórum para tirar dúvidas.

Como framework MVC tem ainda o VRaptor, criado pelo pessoal da Caelum e pelos administradores do GUJ. A versão atual do GUJ, chamada de GUJ2, foi feita utilizando esse framework para a camada de controller. Sua configuração é baseada em Annotations, sua lógica é baseada em POJOs, tem integração com displaytag e suporte à frameworks de apresentação, como velocity e sitemesh.

Para o Swing, tem o framework SwingBean, de autoria do Eduardo Guerra, atual editor-chefe e colunista da revista Mundo Java. O seu intuito é simplificar a vida dos programadores desktop. Confira mais características e funcionalidades no site do projeto.

A edição número 21 da Mundo Java tem como matéria principal esses frameworks citados acima (também fala sobre o JSenna, antigo JBanana), com exceção do Neo. A edição 23 fala sobre o JSpider, uma ferramenta JavaEE brasileira.

E não acaba por aí, tem também o Spring Annotations, uma biblioteca criada pelo Rodrigo Urubatan com o intuito de configurar toda a sua aplicação em Spring utilizando annotations. Na próxima edição da revista Mundo Java terá um artigo sobre essa biblioteca. Clique aqui para conferir a documentação em português.

Quem avisa amigo é

Estou estudando o Struts2 e antes de iniciar vários posts sobre o assunto irei logo adiantar que junto com o pacote completo ou o pacote de apps, de nomes struts-2.0.8-all e struts-2.0.8-apps respectivamente, possui um showcase, é isso mesmo que você leu, você poderá fazer o deploy no seu gato véi (tomcat) preferido e visualizar imagens e códigos fontes sobre o Struts2 feito em Struts2, isso não é maravilhoso? Você verá como construir cruds, utilizar AJAX, irá conhecer as tabpanels (abas), interceptors, principais tags, integrações com SiteMesh, temas e muito mais.

Coletânea de material de JavaEE

Encontrei (www.4shared.com) na web uma coletânea compactada contendo várias apresentações, artigos e PDFs. Os assuntos são: JSF, Struts, Spring, AJAX, Web services, JINI, Hibernate e Ant. Vale a pena conferir!

Por sinal o 4shared é um excelente repositório de arquivos, possui uma excelente ferramenta de busca e você ainda vê o conteúdo do arquivo antes de baixá-lo.

Download da coletânea