Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
Seguinte,
Estou fazendo alguns teste para o projeto de uma aplicação WEB e surgiram algumas dúvidas quanto ao fluxo de informações, classes de conexão e Beans.
Inicialmente, tenho a seguitne estrutura:
- Página Html com o form com seguintes campos:
_Campo texto id (oculto)
_Campo texto descricao
_Campo texto valorCusto
_Campo texto valorVenda
_Campo texto dataInclusao
e action para CtrProdutos;
- Servlet CtrProdutos que recebe as informações da html acima e identifica se ela tem id ou não. Caso ela tenha id o CtrProduto cria uma HashTable com os dados passando como parâmetro para o metodo update da classe ProdutoDAO que faz o update no banco, e caso ela não tenha id, o CtrProduto cria uma HashTable com os dados passando como parâmetro para o metodo insert da classe ProdutoDAO que faz o insert no banco;
Obs.: O campo id do BD é um campo numérico de auto_incremento
- Classe ProdutoDAO possui acesso aos SQLs que fazem a manipulação (inserção, alteração, exclusão e pesquisa) dos Produtos no BD e implementa a classe abstrata DAO.
- Classe Produto com alguns atributos como id, descrição, valorCusto, valorVenda, dataInclusao com gets e sets e um construtor com todos os parâmetros.
-Tenho também uma classe ConnectionBens que faz a conexão com banco de dados controlando as connection abertas (Número de connection, ...)
-Tenho uma classe abstrata DAO que tem dois métodos sincronizados principais: update e inserte responsáveis por executar todos os updats e inserts da aplicação. Ela também tem dois métodos abstratos chamados inserir, alterar e excluir.
Em uma dessas aulas da vida um professor disse que a class Produto que deveria ser especializada nos produtos (claro ) teria todos os métodos de instância como gets e sets e mais os metodos de classe tipo o meu ProdutoDAO. Na verdade acho que seria a junção dos dois.
Já estudei bastante sobre MVC sendo que tenho bem definido seus conseitos. Mas agora na hora de apolicá-los estou tendo um pouco de dificuldade.
Obs.: Não estou usando nenhum tipo de framework pois gostaria de primeiramente descobrir o caminho das pedras pra depois ir simplificando (Algo tipo saber exatamente de onde vem, o que faz e pra onde vai).
Acho que isso dá pra ter uma idéia da maluquice, mas qualquer pergunta, fiquem a vontade.
Gostaria e sugestões, opiniões, críticas, resumindo, tudo o que puder ajudar a melhorar isso pra começar a aplicação já de maneira correta.
Bom, como você disse que gostaria de sugestões, Webwork.
É legal a idéia de você querer aprender Servlets, JSP... mais quando você utiliza um framework é muito mais fácil, porque ele te obriga a usar MVC. Além disso o tempo de desenvolvimento é reduzido com o uso de frameworks.
Na boa, eu tambem achava que para o cara saber fazer tudo, basta conhecer JSP e Servlets, e isso até é verdade, mais pra que começar do zero se você pode utilizar ferramentas prontas e testadas (muito utilizadas) e concentrar-se mais em suas regras de negócio.
É legal a idéia de você querer aprender Servlets, JSP... mais quando você utiliza um framework é muito mais fácil, porque ele te obriga a usar MVC. Além disso o tempo de desenvolvimento é reduzido com o uso de frameworks
Concordo com o volnei
Basicamente, o framework vai controlar o fluxo de sua aplicação, e não interferir no desenvolvimento propriamente dito. Geralmente, os frameworks utilizam arquivos de configuração/descrição(xml) que fazem um "mapeamento" de todos os caminhos(URI) da aplicação. Com isso, fica mais simples de controlar o fluxo.
Eu concordo com a galera, acho que se vc puder utilize um framework pronto, principalmente se vc precisa de rapidez no desenvolvimento.
So um pergunta p/ galera, ja brinquei com struts e achei bem legal, estou p/ usar ele em uma aplicação no trabalho, mas to vendo um galera falar no webwork.Alguem ja usou esse framework em uma aplicação grande???
Ele é mais rapido p/ desenvolver que o struts, como todo mundo fala???
Alguem pode falar sobre isso????
Bom, o Webowork não é mais rápido que o Struts no desenvolvimento, o mais rápido é o que você domina melhor.
Eu particularmente, prefiro o Webwork, achei ele mais fácil de configurar, e mais fácil de aprender (existem muitas pessoas que não concordam).
A idéia não é eliminar classes, e sim operações simples, como por exemplo, quando você solicita a um servlet uma lista de alunos, você precisa dar um request.getParameter nos filtros, executar a busca no banco e carregá-la em classe, disponibilizar estes objetos na página de apresentação. Isto em negrito, você não precisa se preocupar. Repare que você só trabalha com suas classes de negócio. Mais não é só isso que ele faz, você ainda tem muitos recursos nestes frameworks, este foi só um exemplo.
Html é pra conteudo [color=darkblue:8157cd91b5]ESTÁTICO[/color:8157cd91b5], apesar de ser totalmente possível, não vá fazer formulários em páginas HTML, ao invés disso você pode re-utilizar seus formulários para cadastro, alterações... e o tratamento de erros é simplesmente rídiculo utilizando somente Javascript.
Utilizar Velocity na camada View também acelera bastante no desenvolvimento.
No caso do Struts, funcionaria mais ou menos assim:
O Struts fornece o controlador(ActionServlet) pronto. Há a possibilidade de alterá-lo, mas nunca precisei. Esse controlador faz a comunicação entre a visão e o modelo.
Os dados de entrada do cliente, usualmente, são encapsulados em JavaBeans que estendem da classe ActionForm. Na sua aplicação, seria a classe Produtos.
A classe ConnectionBens iria estender a classe Action. No struts, um action é usado para acessar o modelo, montar uma conexão com o banco, etc.. Um action sempre retorna um "mapeamento", seja para exibição de uma página(JSP) ou para um novo action que faz outra coisa.
Outra facilidade é o uso de taglibs na hora de escrever as páginas JSP.
Tudo isso deve estar declarado no arguivo de configuração(struts-config.xml). Exemplo:
Nesse exemplo, está mapeado o formulário "produtosForm" e a ação "/cadastro". Note que na definição da action, existe a tag que indica o prosseguimento da aplicação após a execução da ação.
Então o meu próximo passo é estudar um framework de controle e um de view.
Andei dando uma olhada nas opiniões do pessoal, inclusive de alguns de vcs sobre struts e webworks.
Pelo que vi WebWorks é um framework jovem, sendo que precisa amadurecer para se tornar mais confiável e robusto e Struts já a mais tempo na estrada conseguiu adquirir certa robustez e estabilidade sendo a alternativa mais confiável.
Vi também que a cituação acima pode mudar um pouco segundo o tamanho do projeto, mas para garantir acho que vou optar pelo Struts.
E quanto a camada de View acho que velocyt é a melhor alternativa, já que foi o framework mais ativo nas discussões.
Pelo que vi WebWorks é um framework jovem, sendo que precisa amadurecer para se tornar mais confiável e robusto
Lançada recentemente a versão 2.0 final, é verdade que é novo, mais nem por isso não é confiável. Estou usando ele em um projeto e até agora não encontrei bug, ou tive qualquer limitação. Eu optaria por ele.
fabriciogiordani
Struts já a mais tempo na estrada conseguiu adquirir certa robustez e estabilidade sendo a alternativa mais confiável.
E tambem cheio de trecos... não é uma escolhar ruim, mais eu acho ele meio chato... muita coisa pra configurar, dezenas de tlds alem de algumas limitações (pelo menos quando eu aprendi) tipo só recebe parametros como String... e tal.
fabriciogiordaniPosts:57
Seguinte,
) teria todos os métodos de instância como gets e sets e mais os metodos de classe tipo o meu ProdutoDAO. Na verdade acho que seria a junção dos dois.
Estou fazendo alguns teste para o projeto de uma aplicação WEB e surgiram algumas dúvidas quanto ao fluxo de informações, classes de conexão e Beans.
Inicialmente, tenho a seguitne estrutura:
- Página Html com o form com seguintes campos:
_Campo texto id (oculto)
_Campo texto descricao
_Campo texto valorCusto
_Campo texto valorVenda
_Campo texto dataInclusao
e action para CtrProdutos;
- Servlet CtrProdutos que recebe as informações da html acima e identifica se ela tem id ou não. Caso ela tenha id o CtrProduto cria uma HashTable com os dados passando como parâmetro para o metodo update da classe ProdutoDAO que faz o update no banco, e caso ela não tenha id, o CtrProduto cria uma HashTable com os dados passando como parâmetro para o metodo insert da classe ProdutoDAO que faz o insert no banco;
Obs.: O campo id do BD é um campo numérico de auto_incremento
- Classe ProdutoDAO possui acesso aos SQLs que fazem a manipulação (inserção, alteração, exclusão e pesquisa) dos Produtos no BD e implementa a classe abstrata DAO.
- Classe Produto com alguns atributos como id, descrição, valorCusto, valorVenda, dataInclusao com gets e sets e um construtor com todos os parâmetros.
-Tenho também uma classe ConnectionBens que faz a conexão com banco de dados controlando as connection abertas (Número de connection, ...)
-Tenho uma classe abstrata DAO que tem dois métodos sincronizados principais: update e inserte responsáveis por executar todos os updats e inserts da aplicação. Ela também tem dois métodos abstratos chamados inserir, alterar e excluir.
Em uma dessas aulas da vida um professor disse que a class Produto que deveria ser especializada nos produtos (claro
Já estudei bastante sobre MVC sendo que tenho bem definido seus conseitos. Mas agora na hora de apolicá-los estou tendo um pouco de dificuldade.
Obs.: Não estou usando nenhum tipo de framework pois gostaria de primeiramente descobrir o caminho das pedras pra depois ir simplificando (Algo tipo saber exatamente de onde vem, o que faz e pra onde vai).
Acho que isso dá pra ter uma idéia da maluquice, mas qualquer pergunta, fiquem a vontade.
Gostaria e sugestões, opiniões, críticas, resumindo, tudo o que puder ajudar a melhorar isso pra começar a aplicação já de maneira correta.
Valeu
_________________JavaFree.org
volneiPosts:2212
Bom, como você disse que gostaria de sugestões, Webwork.

É legal a idéia de você querer aprender Servlets, JSP... mais quando você utiliza um framework é muito mais fácil, porque ele te obriga a usar MVC. Além disso o tempo de desenvolvimento é reduzido com o uso de frameworks.
Na boa, eu tambem achava que para o cara saber fazer tudo, basta conhecer JSP e Servlets, e isso até é verdade, mais pra que começar do zero se você pode utilizar ferramentas prontas e testadas (muito utilizadas) e concentrar-se mais em suas regras de negócio.
Qualquer dúvida, estamos aí.
finottiPosts:166