Projeto [Login]

Download: Login.war

Acesse online em: http://pedroabs.no-ip.org:6969/Login/
(apenas se minha máquina estiver ligada !)
1 – cadastre seu usuário
2 – faça a autenticação (login)

Projeto

Nome: Login

D:\OneNote\Estudos\SCWCD\Login

Objetivo:

Demonstrar um simples sistema de autenticação utilizando o padrão de projeto factory (creational factory pattern)

Compilação:

D:\OneNote\Estudos\SCWCD projects\Login>javac -cp “C:\Arquivos de programas\apache-tomcat-7.0.11\lib\servlet-api.jar” -d WEB-INF/classes src/app/bo/*.java
src/app/dao/*.java
src/app/servlets/*.java

 Na instrução acima pode-se observar como compilar várias classes em diferentes pacotes ao mesmo tempo.

Lições aprendidas:

Neste pequeno programa, a classe UsuarioDAOMyDb representa as operações CRUD (Create Read Update Delete) no banco de dados para o objeto de negócio app.bo.Usuario. Para tanto nos métodos (find() e save()) respectivamente usados para retornar um usuário e salvar um usuario (recem criado) os persiste em arquivos texto criados no diretório /WEB-INF/db.

O interessante foi observar que na ótica do container TOMCAT ao se criar um objeto do tipo java.io.File, ex:

File file = new File(“dados.txt”);

este arquivo será criado na pasta bin do tomcat, que, portanto, será a raiz na execução deste código. Por isso que foi setado um diretório desta forma:

Observe a classe UsuarioDAOMyDB.java

Diagrama da estrutura básica do programa

Abaixo se encontra o padrão de projeto factory. A classe DAOFactory é abstrata e contem um único método concreto que é o getDaoFactory() que é responsável por instanciar uma de suas sub-classes dependendo do parâmetro “typeDatabase” recebido. Seu papel é ser uma interface comum as suas sub-classes, como por exemplo a MyDbDAOFactory que representa um determinado banco de dados para ser usado pela aplicação.

Nesta classe DAOFactory devem haver métodos abstratos que representam os possiveis itens que esta fábrica poderá produzir. Como exemplo, temos o método abstrato createUsuarioDAO() que ao ser implementado na sua sub-classe MyDbDAOFactory permite a criação do “produto” UsuarioDAOMyDB que é a implementação da interface UsuarioDAO que permite uma implementação para cada banco de dados.

Repare no código abaixo que a classe MyDbDAOFactory na implementação do método createUsuarioDAO() está retornando a classe UsuarioDAOMyDb e que esta poderia ser facilmente substituida por qualquer outra que implementa a interface UsuarioDAO caso haja necessidade de outro banco de dados.

Esta entrada foi publicada em Design Pattern, Servlet & JSP com as etiquetas , . ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s