28 de janeiro de 2011

JavaEE 6: Utilizando Servlets 3.0

Para quem já teve que fazer servlets em JEE 5, sabe o quanto é chatinho ter que ficar mapeando estas no arquivo web.xml. Pois bem, a especificação JEE 6 veio para facilitar nossa vida em relação a isso e muitas outras coisas, mas agora vamos tratar da servlet... bom, essa facilidade dá-se pelo fato de que não é mais necessário mapear a servlet no web.xml, agora existe uma anotação do pacote javax.servlet.annotation que é a anotação @WebServlet que substitui o mapeamento via xml.
Vamos para um exemplo prático, crie um projeto pelo NetBeans(Veja aqui), coloque o nome de HelloServlet, e crie no pacote de códigos-fonte um pacote chamado controle, temos como estrutura final este projeto:


Ao criar o projeto com a configuração do link acima, terá uma página index.xhtml criada, pode removê-la, e crie uma index.jsp, dentro do body informe o seguinte código:

nome:
Repare que a action do form está chamando MinhaServlet, então vamos criar agora a servlet MinhaServlet. Dentro do pacote controle crie uma nova servlet, com o nome de MinhaServlet.java, o código dela será o seguinte:
@WebServlet(name = "MinhaServlet", urlPatterns = "/MinhaServlet")
public class MinhaServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String nome = request.getParameter("nome");
        response.getWriter().println("nome: " + nome);
        response.getWriter().println("Oiee... aqui é o metodo doGet");

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String nome = request.getParameter("nome");
        response.getWriter().println("nome: " + nome);
        response.getWriter().println("Oiee... aqui é o metodo doPost");

    }
}
Veja que como uma servlet normal ela estende a classe HttpServlet e implementa os métodos doGet e doPost, veja que os dois estão com praticamente o mesmo código, o que eles fazem? pegam o parâmetro nome que vai vir da nossa página index.jsp, e o imprime no navegador.
Aconselho fazer dois testes, para saber quando o doGet e o doPost são chamados, para testar basta trocar o method do form da nossa página index.jsp por GET, e comparar a resposta dada pela servlet... mas chega de enrolação porque o foco não é esse, e sim a anotação @WebServlet, veja que ela está logo acima da declaração da classe. Basicamente o que ela precisa para funcionar são as propriedades:
urlPatterns que será a url de como ele será chamado no navegador, e o name atributo necessário para nomear a Servlet. Enfim usando essa anotação não precisamos mais fazer isso:

    MinhaServlet
    controle.MinhaServlet


    MinhaServlet
    /MinhaServlet

O que acaba facilitando muito!

10 de janeiro de 2011

JavaEE 6: Criando um projeto no NetBeans

A partir do nosso ambiente de trabalho (clique aqui) vamos montar nosso primeiro projeto em JEE 6, com JSF 2.0 em quatro passos, basta apenas seguir as imagens.
No NetBeans, crie um novo projeto da seguinte forma...
Passo 1: Crie uma AplicaçãoWeb, que está na categoria Java Web


Passo 2: Informe um nome para o projeto, este eu estou chamando de HelloWorld

Passo 3: Marque a opção "Habilitar injeção de contextos e dependências", mais pra frente vamos usar o CDI - Context and Dependency Inject - próxima postagem explico ele.

Passo 4: Marque a opção de usar o JavaServer Faces, e aba de Configuração substitua o padrão da URL para *.jsf


Pronto...
A estrutura criada será essa:


O NetBeans já cria uma página inicial, ao executar o projeto (F6) o resultado será este:

A partir de agora é só começar a programar! ;)

6 de janeiro de 2011

JavaEE 6: Ambiente de trabalho

Olá pessoal...!
Para trabalhar com o JEE 6 o ambiente de trabalho é mais tranquilo do que o JEE5, vamos usar:
Ferramenta:
NetBeans 6.9.1
Servidor de aplicação:
GlassFish 3.0
Banco de dados:
MySQL

Eu digo que é mais tranquilo porque o servidor de aplicação já vem embutido no NetBeans, o que facilita muito!
Para baixar o NetBeans: http://netbeans.org/downloads/index.html

Segue abaixo a tela de download do Netbeans:
Baixe-o de acordo com sua plataforma de trabalho, ele identifica o SO sozinho mesmo.
Veja que iremos precisar da combinação de Java + Java Web e EE + GlassFish
Caso sua plataforma seja Windows, a versão de download vai ser de 214 MB, para Linux é de 173 MB conforme mostra a imagem...
Para baixar é só clicar em download!


A instalação é bem tranqüila..."Próximo... próximo... próximo..." deixe que ele mesmo defina onde instalar o GlassFish.
Fácil, não? rsrs

MySQL:
Baixe os seguintes arquivos e instale na seqüência que segue:
Download MySQL Community Serverhttp://dev.mysql.com/downloads/mysql/
Durante a configuração, será pedido a senha do usuário root, para esses projetos estarei usando a senha: admin

Agora para acessar o banco visualmente, baixe:
Download MySQL Workbench: http://dev.mysql.com/downloads/workbench/5.2.html
Feito isso... nosso ambiente de trabalho já está pronto! :)