Mostrando postagens com marcador MySQL. Mostrar todas as postagens
Mostrando postagens com marcador MySQL. Mostrar todas as postagens

segunda-feira, 6 de setembro de 2010

Exemplo DataSource JBoss

Olá Pessoal,


Afinal, o que é um DataSource?
DataSource é uma forma de guardar as configurações de conexão com o banco de dados, como por exemplo, deixá-las em um arquivo xml, evitando assim, que as mesmas não ficam fixas no seu código Java.
Neste exemplo, será criado um DataSource que será usado no servidor JBoss 4, a vantagem de usar o JBoss, é que o DS pode ser criado diretamente na pasta de deploy, proporcionando mais liberdade para o desenvolvedor.

A estrutura do arquivo xml do DS, é definida logo abaixo:
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/CLIENTEDS</jndi-name>
<connection-url>URL</connection-url>
<driver-class>DRIVER_CLASSE</driver-class>
<user-name>USUARIO</user-name>
<password>SENHA</password>
</local-tx-datasource>
</datasources>

Legenda:
CLIENTEDS = Nome da datasource que será configurada em sua aplicação
URL = Endereço de sua base
DRIVER_CLASSE = Driver de acesso ao banco de dados
USUARIO = Usuário de acesso base de dados
SENHA = Senha de acesso a base de dados

Por exemplo, vamos configurar, para acessar o banco de dados MySQL:
Crie um arquivo xml, com o nome de database-ds.xml, salve este arquivo no seguinte diretório:
DIRETORIO_DO_SEU_JBOSS/server/default/deploy

No conteúdo do arquivo, deixei configurado assim:
<?xml version="1.0" encoding="UTF-8" ?>

<datasources>
<local-tx-datasource>
<jndi-name>jdbc/databaseDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/java</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>root</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>30</max-pool-size>
<idle-timeout-minutes>1</idle-timeout-minutes>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
</local-tx-datasource>
</datasources>
database-ds.xml

Obs.: Não esqueça de colocar o jar do driver do MySQL, no seguinte diretório:
DIRETORIO_DO_SEU_JBOSS/server/default/lib

Bom, para testar o DataSource, vamos criar um novo projeto web no Eclipse, chamado ExemploDataSource.
Crie um novo file, chamado persistence.xml, dentro da pasta WebContent/META-INF.
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="PessoaJPAData" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/jdbc/databaseDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
</persistence>
persistence.xml

Definimos o nome do persistence-unit;
Usamos o Hibernate como provedor JPA;
Colocamos o nome do DS no jta-data-source;
E, por fim, defiminos, que o Hibernate crie automaticamente nossas tabelas do BD.

Agora, vamos criar um Servlet, chamado ServletDS.
package com.blogspot.jabesfelipe.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

public class ServletDS extends HttpServlet {
private static final long serialVersionUID = 1L;

private void processarRequisicao(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
try {
Context context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:jdbc/databaseDS");
Connection connection = dataSource.getConnection();
out.println("Conectado, através da JNDI!");
connection.close();
} catch(Exception e) {
e.printStackTrace();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processarRequisicao(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processarRequisicao(request, response);
}

}
ServletDS.java

Através da JNDI, acessamos nosso DataSource, para testar, inicialize seu JBoss, e digite o endereço: http://localhost:8080/ExemploDataSource/ServletDS

Bom galera, este foi um exemplo de como criar um DataSource no JBoss, e usá-lo em uma aplicação.
Para quem quiser baixar o exemplo, clique aqui.
Qualquer dúvida, crítica ou sugestão, fico à disposição.

sábado, 20 de março de 2010

Login de Usuários com EJB3 e JSF (Parte 2)

Olá Pessoal,


Esta é a segunda e última da parte do desenvolvimento de um Sistema de Login de Usuários, usando EJB3 para fazer a validação dos Usuários no nosso Banco de Dados, e JSF para a camada de apresentação do nosso Projeto.
Na primeira parte deixamos pronto, toda camada de EJB, agora nesta parte iremos criar o ManagedBean do Login e o Servlet Filter do Login.
Ao final do post, o projeto será disponibilizado para download, para quem quiser baixar e testar.

1. Passo: Crie um ManagedBean, óbviamente dentro do projeto web, escolha o nome de LoginMB, defina um pacote com o nome managedbean, deixa seu escopo como session, feito isto, altera o código seu código, deixando igual ao da figura abaixo:


No código acima, criamos dois método, um para fazer o login e o outro para fazer o logout.


2. Passo: Agora vamos criar o Servlet Filter, informe o nome de LoginFilter, defina um pacote, pode ser chamado de filter, deixa o mapeamento das URLs como *.jsf, depois de criado o Filter, altera o código do método doFilter, para o que está mostrado na figura abaixo:

3. Passo: Deixe o arquivo faces-config.xml, como mostrado na imagem abaixo, caso não exista este arquivo, basta criá-lo.


4. Passo: O arquivo web.xml, deverá ficar parecido com a da figura abaixo:

5. Passo: Agora iremos criar nossas páginas .jsp, são cinco páginas, a primeira será o index.jsp, que apenas fará o encaminhamento para página de login.

6. Passo: Criamos agora a página para fazer o login, a página login.jsp, deverá ficar parecida com a figura abaixo.



7. Passo: Criamos agora a página home.jsp, esta página só deverá ser acessado para quem estiver logado, é uma página bem simples, conforme a figura abaixo.



8. Passo: Criamos agora a página logout.jsp, esta página se aberta quando o usuário sair do sistema, é uma página bem simples, conforme a figura abaixo.



9. Passo: Criamos agora a página falha.jsp, esta página será exibida quando um usuário inválido tentar entrar no sistema, é uma página bem simples, conforme a figura abaixo.



10. Passo: Primeiramente, iremos tentar entrar no sistema, com um usuário que não existe.

11. Passo: Quando não for encontrado o usuário, a página falha.jsp será exibida.

12. Passo: Tentamos agora com um usuário que esteja cadastrado.


13. Passo: A página home será exibida, mostrando o nome do usuário que está logado.


14. Passo: Quando o usuário, sair do sistema, a página logout será exibida.

Terminamos, o nosso projeto de Login, usando EJB3, Servlet Filter e JSF.
Para quem quiser baixar o projeto, clique aqui.
Qualquer dúvida, crítica ou sugestão, fico a disposição.

Login de Usuários com EJB3 e JSF (Parte I)

Olá Pessoal,


Neste post irei mostrar um exemplo simples de como fazer autentificação de usuários, usando EJB3, para a regra de negócio, e o Framework JSF para a camada de apresentação, poderia ser um Servlet ou JSP para view. A aplicação foi desenvolvida no Netbeans 6.8, servidor GlassFish v3 e o Banco de Dados MySQL.
Por estarmos usando o JSF, poderiamos fazer o controle de autentificação usando um próprio recurso do JSF chamado de PhaseListener, que fica de uma forma mais integrado. Porém neste exemplo, será feito utilizando o bom e velho Filter.
Este post será dividido em duas partes, sendo que a primeira, iremos criar o BD e a tabela Usuario, também será criado o projeto no Netbeans, deixando toda a camada de EJB pronta. Para a segunda parte, será criado o Servlet Filtro e a camada do JSF.
Ao final do post, o projeto será disponibilizado para download, para quem quiser baixar e testar.

1. Passo: A primeira coisa que devemos fazer é criar um Banco de Dados no Mysql, para isto basta usar seu programa de Gerenciamento de Banco de Dados e digitar o seguinte comando:

CREATE DATABASE JAVA;

Para criar a tabela de Usuário, use o seguinte comando:

CREATE TABLE USUARIO (
nome VARCHAR(20) PRIMARY KEY,
senha VARCHAR(20)
);

Criado nosso BD e a Tabela, já deixaremos um Usuário cadastro, para mais tarde podermos testar, simplesmente, digite o código abaixo:

INSERT INTO USUARIO values ('jabes', 'jabes');


2.Passo: Iremos criar um projeto JEE no Netbeans, para isto escolha Enterprise Application, o nome do projeto será Login, escolha o servidor GlassFish, criando um módulo EJB e um WAR.
A estrutura do projeto ficará parecida com a imagem abaixo:



3. Passo: Agora vamos criar a Entidade (Classe) Usuário, que será nosso modelo, para não digitarmos a Classe na unha, iremos importar a mesma do Banco. Clique com o botão direito do mouse sobre o módulo EJB, e escolha Entity Classes from DataBase, conforme a figura abaixo:



4. Passo: Escolha um Data Source que use o MySQL e o nosso Banco de Dados que foi criado, caso não exista um, basta criar um novo DS, depois de escolhido o DS, adicionar a tabela Usuario, clique em Next, conforme mostra a imagem abaixo:



5. Passo: Informe o nome do pacote, no exemplo deixei como loginservice, depois clique em Next.



6. Passo: Na configuração do mapeamento da Entidade, configurar de acordo com a figura abaixo, depois, clique em Finish:


7. Passo: Será criado a Classe Usuario, com todas Annotations, conforme a imagem abaixo:



8. Passo: Agora iremos criar um Session Bean, do tipo Stateless, com o nome de LoginService, implementando uma Interface Local, ambos, no pacote loginservice, crie um método chamado verificarUsuario que retorna um boolean e que tem como parâmetro um Objeto do tipo Usuario na Interface LoginServiceLocal, na Classe LoginService, altera seu código, deixando-o, igual ao da figura abaixo:


Aqui, terminamos nossa primeira parte da Aplicação, deixando a camada de EJB pronta, e na próxima e última parte, iremos terminar, com a criação do Servlet Filter e do ManagedBean.


domingo, 7 de março de 2010

CRUD com JSF e Hibernate usando Eclipse, TomCat e MySQL (Parte 3)

Olá Pessoal,


Chegamos na última parte numa série de três partes, que envolveu o desenvolvimento de um CRUD de Usuário. Nas partes anteriores, configuramos o TomCat no Eclipse, criamos o projeto do tipo web, e desenvolvemos e testamos nossa camada de persistência.
Por fim, iremos criar a camada de apresentação, que será desenvolvida pelo Framework JSF.
Ao final do post, o projeto será disponibilizado para download, para quem quiser baixar e testar.

1. Passo: Abre o arquivo faces-config.xml, e selecione a aba ManagedBean -> session -> add.



2. Passo: Na tela seguinte, deixar, conforme a imagem abaixo.



3. Passo: Na próxima tela, informar o nome do ManagedBean e do Pacote, conforme a imagem abaixo.



4. Passo: Na tela seguinte, informe o nome e o escopo do ManagedBean, conforme a imagem abaixo, e depois clica em finish.



5. Passo: O arquivo faces-config.xml, deverá estar, conforme a imagem abaixo.



6. Passo: O arquivo web.xml, deverá estar, conforme a imagem abaixo.



7. Passo: Agora, iremos implementar a Classe UsuarioMB, conforme a imagem abaixo, restante do código, será mostrado nas imagens seguinte.



8. Passo: Continuado, acrescentar o seguinte código na Classe UsuarioMB, conforme a imagem abaixo.



9. Passo: Por fim, acrescentar o seguinte código na Classe UsuarioMB, conforme a imagem abaixo.



10. Passo: Agora criaremos o único arquivo jsp.



11. Passo: Na tela seguinte, informe o nome da página jsp.



12. Passo: Na tela seguinte, informe o template do tipo JSF, conforme a abaixo, e clica em finish.


13. Passo: Na página usuario.jsp, deixar conforme a imagem abaixo, o restante do código será mostrado nas imagens seguintes.



14. Passo: Na página usuario.jsp, acrescenta o código seguinte, conforme a imagem.



15. Passo: Por fim, na página usuario.jsp, acrescenta o código seguinte, conforme a imagem.



16. Passo: Assim, terminamos nossa aplicação, agora iremos testar.



17. Passo: Na tela seguinte, escolha o server TomCat e clica em Finish.



18. Passo: Agora, na barra de endereço informe a URL da nossa aplicação e clica para ir, se tudo ocorrer certo, será aberto a seguinte.


19. Passo: Agora, só testar aplicação, irei cadastrar um novo usuário, conforme a imagem abaixo.



20. Passo: Após ter cadastrados alguns usuários, já podemos ve-lôs, na table.



21. Passo: Podemos excluir um usuário.



Sendo assim, terminamos nossa aplicação, que envolveu, o uso das melhores tecnologias do mercado. Através do Hibernate, conseguimos trabalhar com objetos e sem a necessidade de ficar digitando SQL, e também o JSF que é um Framework MVC que vem crescendo no mercado, por oferecer uma produtividade incrível.
Quem quiser baixar o projeto completo, clica aqui.
Qualquer sugestão, dúvida ou crítica, ficarei a disposição.


CRUD com JSF e Hibernate usando Eclipse, TomCat e MySQL (Parte 2)

Olá Pessoal,


Essa é a segunda parte do desenvolvimento de uma simples aplicação para web, usando os Frameworks JSF e Hibernate. Na primeira parte configuramos o servidor TomCat no Eclipse e criamos um novo projeto para web.
Nesta parte iremos construir nossa Classe Bean e a camada de persistência usando o Hibernate.
Ao final do post, o projeto será disponibilizado para download, para quem quiser baixar e testar.

1. Passo: Clica com o botão direito do mouse sobre o projeto e escolha new -> Class.



2. Passo: Informe o nome do pacote e da Classe conforme a figura abaixo e clica em finish.



3. Passo: Deixa a classe Usuario como mostrado abaixo, com os atributos e seus respectivos métodos get e set.



4. Passo: Agora criaremos nosso arquivo de configuração do Hibernate, para isto clica com o botão direito do mouse sobre o projeto e escolha New -> XML.



5. Passo: Informe o nome do arquivo XML de acordo com a imagem abaixo e clica em finish.



6. Passo: Deixa o arquivo de configuração conforme está a imagem abaixo, não esquece de mudar o nome do seu banco de dados e também o nome de usuário e senha. Também deixa este arquivo dentro do pacote util, caso tenha este pacote, criar um.



7. Passo: Agora criaremos uma Classe que servirá para gerar tabelas no banco de dados MySQL.


8. Passo: Agora informe o nome da Classe e o pacote, deixando habilitado o método main, conforme a imagem abaixo.



8. Passo: Deixa a Classe GerarTabelas conforme está na imagem abaixo.



9. Passo: Agora iremos executar esta Classe para gerar a tabela USUARIO, para isto, faça conforme a imagem abaixo.



10. Passo: Se tudo ocorreu certo, a tabela foi gerado com sucesso conforme o log da imagem abaixo.



11. Passo: Agora criaremos uma nova Classe.



12. Passo: Informe o nome do pacote e da Classe, conforme a imagem abaixo.



13. Passo: Deixa a Classe HibernateUtil conforme a imagem abaixo.


14. Passo: Criaremos agora Interface DAO.



15. Passo: Informe o nome da Interface e o seu pacote, conforme a imagem abaixo.



16. Passo: Agora informe os nomes dos métodos abstrato, conforme a imagem abaixo.



17. Passo: Crie agora uma nova Classe.



18. Passo: Informe o nome da Classe e do Pacote, não esquece de informar a Interface que a Classe vai implementar, que no caso é UsuarioDAO, conforme a imagem abaixo.


19. Passo: Agora informe os atributos da Classe, e a implementação do método insereUsuario, conforme a imagem abaixo, os outros métodos serão informados mais adiante.



20. Passo: Implementa agora o método alteraUsuario e excluiUsuario, conforme a imagem abaixo, agora só falta mais dois métodos.



21. Passo: Finalizamos a Classe UsuarioDAOImp com os métodos procuraUsuario e procuarTodosUsuarios, conforme a imagem abaixo.



22. Passo: Agora criaremos uma Classe para testar nossa camada de persistência.



23. Passo: Informe o nome da Classe e do Pacote, conforme a imagem abaixo.



24. Passo: Deixa a Classe Teste como descrito abaixo, não esqueça de selecionar o método main.



25. Passo: Iremos agora executar a Classe.



26. Passo: Se tudo ocorreu certo, o log do server, ficará, conforme a imagem abaixo.




Por aqui, finalizamos no segunda parte do desenvolvimento da nossa aplicação para web, na próxima e última parte, criamos a camada de visão, que será implementado pelo Framework JSF.




Jabes Felipe RSS Feed Jabes Felipe