Página Inicial do Fórum > JSP / Servlets

Duvida relacionada a MVC em aplicação WEB (Servlet/JSP)



Criar novo tópico   Responder tópico
  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    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.

    Valeu
    _________________
    JavaFree.org




  1. volnei
    Posts:2212


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    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í.




  1. finotti
    Posts:166


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    volnei
    É 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.

    sugestão STRUTS




  1. jgbt
    Posts:1214


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    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????

    []'s



    _________________
    João Bier
    JavaFree.org


  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Beleza galera, mas, como diria meu velho amigo Jack, "Vamos por partes".

    No caso de usar um framework como webworks ou struts quais classes eu eliminaria?

    Vamos ver se entendi.

    Ficaria com meu html onde poderia usar um framework de visualização tipo velocity que substituiria os códigos jsp.
    Minha VIEW taria decidida.

    Mas e o resto da estrutura como ficaria?

    View --> Controller (WebWork) --> Model (DAO)

    Seria isso?

    e na minha aplicação só pra exemplificar.

    Valeu pela atenção mais uma vez
    _________________
    JavaFree.org




  1. volnei
    Posts:2212


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    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.

    Estrutura básica:
    Página >> Action >> VOs/DAOs/Beans >> Página

    É mais ou menos isso, qualquer dúvida estamos aí!




  1. finotti
    Posts:166


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    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.


    Não sei se fui claro...


  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Valeu galera,

    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.

    Corrijam-me se estou errado ( ).

    flw
    _________________
    JavaFree.org




  1. volnei
    Posts:2212


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Não estou corrigindo, é apenas a minha opinião...

    fabriciogiordani
    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.


  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Brigadão pelas dicas.

    Vou olhar mais de perto os dois frameworks (Struts e Webwork)

    Depois digo por qual optei.

    flw
    _________________
    JavaFree.org




  1. Estupendo
    Posts:1


    Comment Arrow

    Publicado em: 17/08/2010 13:54:26

    Fazendo buscas aqui no forum sobre frameworks, não vi ninguém falando do Google Web Toolkit. Ninguém usa? Quem usa, usa por que?

    Valeu galera.




  1. Relacionados





Novo tópico   Responder tópico     Índice do forum -> JSP / Servlets