Estou desenvolvendo uma aplicação, mas que é feito tudo no JSP (operações no BD, etc… ), tudo não mão.
Então queria ver se conseguia transformá-la para 3 camadas.
Li materiais de MVC, mas não estou conseguindo entender muito bem, mas o princípio básico do MVC - Model (Regras de Negócio) Viewer (cliente, a tela, JSP, HTML, etc) Controller (esse cara responde a solicitações do cliente e manda solicitações ao Model), acho que é isso.
Então gostaria de saber se alguém tem um exemplo prático ou um tutorial que faça um acesso a banco de dados e etc.
Espero ter explicado corretamente minha necessidade.
Sem mais, agradeço desde já a colaboração de todos.
Seguinte,
a Caelum tem uma apostila muito boa do curso FJ-21 (Web). Tem um capítulo que
fala sobre MVC e há a construção de um framework MVC desde o começo (muito
bom p/ fins didáticos).
Sugiro que vc baixe essa apostila no site da Caelum e dê uma lida.
[]s
R
rsehnem
olá allanmarques,
vou baixar e estudar ela…
muito obrigado
Weslley
[color=blue]O Desenvolvimento em camadas é o mais utilizado atualmente, o objetivo disso é separar as regras de negócio (costumo chamar de lógica da aplicação) das demais partes, como persistencia de objetos e a parte visual…
A Vantagem disso é a facilidade na manutenção futura, caso ocorra…
Basicamente, o JSP não deve ter código java.
A Lógica do seu negocio deve estar em classes java. O JSP serve apenas como uma camada de visualizacao.
Imagina, por exemplo, um webdesigner mexendo nos seus JSP cheios de código Java que ele nao entende?
Imagina se você precisar alterar uma querie, por exemplo, sem saber onde ela está? Você terá que abrir cada JSP, cada classe para tentar localiza-la.
Cara, a arquitetura mvc é fundamental. Procure estuda-la, pois não é dificil. E isso lhe abrirá muitas portas, pode ter certeza.
tnaires
Isso não é pré-requisito. No MVC, a view deve conter apenas lógica de apresentação, seja via código Java, tags ou o que for. Não adianta nada sua JSP estar cheia de tags que executam lógica de negócio. Nesse caso, temos um exemplo de JSPs sem código Java, mas que não é MVC.
vinny767
Realmente não é um pre-requisito, mas sim uma boa pratica.
Você está certissimo. Mas existem formas muito mais elegantes de se evitar o código java na camada View, como por exemplo, usando JSTL e EL.
Quando eu digo que não se deve usar, é em relação a uma boa pratica. Eu mesmo, algumas vezes, uso pequenos trechos de codigo nas minhas JSPs.
Mas não acho muito legal. Assim como não é muito legal colocar codigo Html dentro de Servlets. Mas poder, pode!
Abraço
Weslley
[color=blue]Eu uso codigo na JSP pra fazer validações um poucos mais específicas, que são relacionadas a camada de visualização…
Não vejo perda de conceito…
Sds…[/color]
vinny767
Você pode implementar até um CRUD em seus JSPs…
O que estou tentando dizer, é que existe um conceito de boa pratica de programação que diz que deve ser evitado esse tipo de coisa.
Em relação a validação, você pode usar também. Eu, particularmente, custumo usar javascript para validar os dados da minha JSP (validações simples do lado do cliente).
Já para testar as regras de negocio, utilizo classes Java mesmo (padrão Data Logic Object, ou DLO).
Essa validação também poderia ser feita dentro do JSP, porem, não é recomendável (devido a dificuldade de manutencao do codigo, reutilização, dentre outros aspectos).
Cada um pode fazer o que quiser. Eu não acho uma boa pratica voce entupuir a sua visualizacao com codigo, mas cada um faz do jeito que quiser.
tnaires
É sim altamente recomendável que sua lógica de apresentação seja implementada via tags. Mas eu nunca trabalhei em um projeto onde houvesse de fato divisão entre desenvolvedores e webdesigners ( não estou dizendo que não há a tal divisão ), pois sempre os desenvolvedores acabavam desenvolvendo as páginas e o design.
Então, se na view só tiver lógica de apresentação pra mim, tá valendo. Mesmo que seja em código Java. Até porque, se sua JSP tiver realmente apenas apresentação, o código não é tão extenso.
vinny767
Isso aí…
R
rsehnem
Galera é o seguinte…
Gostei muito da dica de vocês, mas tenho uma dúvida final sobre o nosso fórum.
A minha dúvida é de como eu faço para mostrar meu resultado da minha classe.
Não não não… Nunca construa sua página no servlet.
Seu servlet, após realizar os procedimentos necessários, deve redirecionar a requisição para uma página JSP ( por exemplo, uma tela mostrando os dados cadastrados ou de erro caso uma exceção tenha ocorrido ). Nesse caso, use o método forward ou o sendRedirect. Aqui tem um resumo da diferença entre os dois:
Entendi, mas tenho meu JSP e os dados estão na minha classe “pessoa”, como faço um sendRedirect(“pagina.jsp”) passando os dados da classe pessoa?
No JSP vou usar a classe pessoa?
Como monto meu JSP com a classe pessoa?
Vou ter que usar código java para montar ele?
Rodrigo Sehnem
tnaires
São muitos conceitos para explicar em poucos posts. Recomendo que você dê uma estudada no modelo MVC usando Servlets + JSP. O site Coreservlets tem dois links com materiais excelentes sobre o tema: