Login Registre-se

Home > Artigos > Ambiente WEB >

CRUD com Servlet 3.0 e MYSQL

Publicado por Rodrigo Marques em 10/03/2013 - 19.703 visualizações


comentários: 9

Neste artigo vamos criar um projeto utilizando a tecnologia Servlet 3.0 com o banco de dados mysql. A idéia deste artigo é a não utilização de nenhum framework Java, trabalhando apenas com os arquivos jsp e Java. Vamos criar um projeto com o padrão MVC e DAO, esses dois padrões são os mais utilizados atualmente.

Servlets
"Servlet é um componente como um servidor, que gera dados HTML e XML para a camada de apresentação de um aplicativo Web. É basicamente uma classe na linguagem de programação Java que dinamicamente processa requisições e respostas, proporcionando dessa maneira novos recursos aos servidores. A definição mais usada considera-os extensões de servidores. Servlet é um módulo que estende a funcionalidade de um servidor Web, através de módulos de aplicação implementados em Java.
http://pt.wikipedia.org/wiki/Servlet

Os Servlet são classes Java que herdam da classe HttpServlet e são responsáveis por todo o controle de uma aplicação Java, diria que grande parte da aplicação passa pelo Servlet. A principal finalidade do Servlet é efetuar a ligação entre os arquivos JSP e as classes JAVA.

Até a versão 2.0 do servlet, as ligações entre os JSPs e os Servlets eram criados sempre através de um arquivo chamado de web.xml. O arquivo web.xml é o responsável por mapear os Servlets para que o JSP encontre o controlador.

Com a criação dos servlets 3.0, o arquivo web.xml perdeu essa função de mapeamento e o responsável por mapear as ações da JSP são as annotations designadas dentro do próprio servlet.

Nesse arquivo existem dois métodos que devemos entender para que servem para que possamos iniciar o projeto, esses métodos são o doPost() e o doGet().

Como o próprio nome já esclarece, o método doPost() é responsável por receber os dados enviados pela requisição POST vinda do navegador, já o método doGet() se encarrega de receber os dados que foram disparados através do browser pela URL. Entendido esses dois tópicos podemos começar o nosso desenvolvimento.


0

É importante ressaltar que devemos adicionar na opção Dynamic web module version a opção 3.0 e se o tomcat já estiver configurado no eclipse, já pode adicionar o mesmo ao projeto.

O Servlet 3.0 é suportado no eclipse a partir do eclipse hélios. Caso não tenha efetuar o downloado do mesmo no link http://www.eclipse.org/downloads/.

Após a criação do projeto vamos iniciar criando a página JSP que representara o formulário para o input dos dados. As páginas JSP deverão ser criadas dentro da pasta WebContent que representa a visão do nosso projeto, representa a camada na qual os usuários terão acesso. Vamos criar a pagina index.jsp dentro de WebContent para começar o nosso projeto.

0

Na index.jsp teremos um formulário para o usuário preencher com os dados que serão enviados posteriormente ao Servlet. Segue abaixo o código do formulário.

No formulário criamos três campos do tipo text, um para o usuário preencher com o nome, email e a idade respectivamente. Se você executar o seu projeto deverá ter um resultado com o formulário criado. Esses dados ainda não estão sendo enviados para nenhum lugar visto que so existe ate o momento, uma pagina de formulário.

Repare que temos uma tag
e dentro existe um atributo action="EnviarDados?cmd=cadastrar", então o termos ?EnviarDados? que devemos mapear em algum servlet para que exista um destino para os dados preenchidos. Após temos um "cmd=cadastrar", essa variável cmd será responsável por dizer ao Servlet qual a ação que o mesmo deverá tomar, exemplo, cmd=cadastrar esta avisando ao Servlet que o mesmo deve capturar os dados enviados e cadastrar no banco de dados.

Após criarmos a tela de cadastro seguiremos para o desenvolvimento da estrutura do nosso projeto, dentro da pasta src iremos criar 4 pacotes, são eles, control, model e config e persistence. No pacote config vamos adicionar apenas o SQL para a criação do banco de dados, em model vamos ter uma classe no padrão javaBean representando a nossa entidade do banco de dados, em control teremos o nosso Servlet e por fim no pacote persistence teremos as classes responsáveis pelas ações no banco de dados.

0

Dentro do pacote config vamos criar um arquivo script.sql onde teremos o SQL para a criação do banco de dados.
Criado o banco de dados iremos desenvolver a classe javaBean que será responsável por representar a tabela pessoa em nosso pequeno projeto. A classe Pessoa terá atributos dos mesmos tipos da tabela e a sua função é representar a tabela em todo o projeto, essa classe será armazenada no pacote model, que é o pacote de modelo, onde as classes JavaBean ficam armazenadas.

0

Segue abaixo o código da classe Pessoa.java
No momento já temos o formulário de entrada de dados, o arquivo index.jsp que contem um formulário HTML com os campos. Temos também a classe de entidade Pessoa representando a nossa tabela pessoa.

No momento precisamos criar a conexão com o banco de dados por meio de classes Java. É importante ressaltar que iremos utilizar a classe Dao para efetuar a conexão com o banco de dados.

A responsabilidade do Dao.java é unicamente efetuar a conexão com o banco de dados, porem as ações de gravação, consulta e etc, Serão realizadas pela classe PessoaDao.java que deve herdar a conexão do Dao e implementar esses métodos.

0

Conforme observado no código acima tem constantes de configuração com o banco de dados e métodos para abrir/fechar conexão com o banco de dados. A String de conexão com o banco passou o caminho do banco de dados, a constante USER e PASS possuem usuário e senha do banco de dados respectivamente.

O método open() é utilizado para abrir a conexão com o banco utilizando o método getConnection() para gerenciar a conexão. O método close() apenas fecha a conexão com o banco através do objeto con.

Na classe PessoaDao temos primeiramente o método create no qual é enviado um objeto da classe Pessoa. O primeiro passo é chamar o método open() para abrir a conexão com o banco de dados, após temos a preparação do INSERT no banco de dados. Os comandos de ? no final do script são espaço no qual utilizamos para posteriormente adicionar os valores no SQL.

Após a criação do SQL utilizamos os métodos stmt.setString() e stmt.setInt() para adicionar uma String e um int nos espaços determinados. Após adicionar os valores no SQL temos o stmt.execute() para executar o comando no banco de dados. Por fim temos o método close() para fechar a conexão com o banco de dados.

O servlet possui 3 tópicos que são interessantes ressaltarmos, primeiramente temos o @WebServlet("/EnviarDados"), essa anotação é utilizada para dizer como esse Servlet será chamado pela URL, todas as vezes que na URL aparecer EnviarDados, o Servlet será executado.

Dentro da classe Servlet temos por padrão os métodos doGet() e doPost(), esses métodos são chamados para receber dados enviados de JSP através do método get e post. No nosso formulário adicionamos um method post, logo é necessário programar no método doPost().

Conforme visto no codigo acima, estamos apenas programando no método doPost(), dentro do método, primeiramente resgatamos o valor de CMD.

Utilizamos o cmd para dizer ao Servlet qual será a operação executada, no primeiro caso temos o cmd cadastrar.

Dentro do IF cadastrar, adicionamos um objeto da classe Pessoa já passando os parâmetros vindo do formulário. Ao settar os dados do formulário dentro do objeto Pessoa, o próximo passo é cadastrar os dados no banco utilizando o método create da classe PessoaDao.

Espero ter ajudado, e aguardem a segunda parte do projeto e conclusão do CRUD com Servlet 3 e JDBC.

Rodrigo Marques - Coti Informática


Download:  img1.png
Size:  65 KB

Download:  img2.png
Size:  42 KB

Download:  img4.png
Size:  53 KB

Download:  img3.png
Size:  2 KB

Download:  img5.png
Size:  56 KB

comentários: 9