Dúvida em como passar entre as camadas

10 respostas
biroska

Estou montando um projeto web para teste e tentando seguir a linha que é utilizada no mercado.

Fiz um JSP com form que recebe parâmetros, dele submeto para ALGUMA_COISA que deve validar os parâmetros, havendo inconsistências redireciona para a página inicial, estando tudo OK, submete para outro JSP.

Minha é dúvida é justamente esse ALGUMA_COISA, que em alguns casos conterá as regras de negócios, li que devemos evitar excesso de código Java nos JSP’s, então o que deve ser esse ALGUMA_COISA, como monto isso?

valeu
obrigado

10 Respostas

yoshikichi

http://www.fragmental.com.br/wiki/index.php?title=MVC_e_Camadas

aluisiodsv

Cara, o certo é não escrever nenhum código Java no jsp.

Se vc já estiver mais avontade com o java, recomendo uma apostila muito boa para o desenvolvimento Web. Bem didática e fácil para aprender:
Entre neste site http://www.caelum.com.br/apostilas/ e pegue a apostila FJ-21 de Desenvolvimento Web.

biroska

Obrigado Yoshikichi e Aluisiodsv pelas dicas

Tenho estudado pelas apostilas FJ11 e FJ21 e pelo bom e velho Deitel, tenho uma noção das divisões que terei que fazer: apresentação, negócios e persistência, cada qual com as suas estruturas próprias, minha dúvida está em o que, e como, o JSP vai disparar, ah…é o tal do ALGUMA_COISA do action

<form method="POST" name="form" action="ALGUMA_COISA" onsubmit="return check()">

Li, na FJ21 que o ideal é não misturar o código Java com Html, mas como ainda não descobri como fazer a comunicação entre o JSP e o ALGUMA_COISA, ainda não consigo extrair todo o código Java do html.

Vocês podem me ajudar nessa parte?

valeu de novo

A

biroska:
Estou montando um projeto web para teste e tentando seguir a linha que é utilizada no mercado.

Fiz um JSP com form que recebe parâmetros, dele submeto para ALGUMA_COISA que deve validar os parâmetros, havendo inconsistências redireciona para a página inicial, estando tudo OK, submete para outro JSP.

Minha é dúvida é justamente esse ALGUMA_COISA, que em alguns casos conterá as regras de negócios, li que devemos evitar excesso de código Java nos JSP’s, então o que deve ser esse ALGUMA_COISA, como monto isso?

valeu
obrigado

1 - Vc pode usar de base o pattern MVC que o padrão utilizado em projetos Java;

2 - Antes de submeter para ALGUMA_COISA vc pode ter um primeira validação feita em JavaScript;

3 - O uso de Scriptlet é uma  prática mas  projetos no mercado que ainda usam.
biroska

Valeu Andredecotia,

Faço uma validação inicial via javascript, mas algumas coisas terei que consistir no banco de dados, para redirecionar as páginas, vi o comando getRequestDispatcher("páginaJSP.jsp");
Pensei em fazer algo do tipo…o ALGUMA_COISA SER UM Servlet e ele via getRequestDispatcher(“páginaJSP.jsp”); me direciona para a página correta, mas se eu tiver campos que mudam de acordo com os parâmetros, ou mesmo se eu quiser exibir os parâmetros, terei que utilizar Scriplet?
Existem comandos para fazer: neste “documento.jsp” substitua $cor$ por ‘Amarela’ e exiba o JSP resultante?

valeu
obrigado pela ajuda

AndreAlves

ALGUMA_COISA pode ser um MONTE_DE_COISA, dependendo da sua arquitetura.
Se você não está utilizando nenhum framework, o ALGUMA_COISA seria um Serlvet mesmo. Mas o ideal seria utilizar algum framework, tipo Struts, JSF, etc.

Ao invés de usar Scriptlet no JSP, dá uma olhada em JSTL e EL.

leandroadacosta

Além de todas as dicas do pessoal, recomendo fortemente o uso do vraptor para fazer o trabalho d MVC, é bem fácil trabalhar com ele, leia a documentação que rapidinho você pega o jeito da coisa.

Site do vraptor: http://vraptor.caelum.com.br

Abraço!

biroska

Obrigado a ajuda de todos.
Conclui o pequeno projeto que estava fazendo utilizando escriplets, acabei adotando diversas más práticas, vou estudar Struts e Raptor para depois iniciar o próximo.
Mais uma vez obrigado a todos
[]'s

P

biroska:
Estou montando um projeto web para teste e tentando seguir a linha que é utilizada no mercado.

Fiz um JSP com form que recebe parâmetros, dele submeto para ALGUMA_COISA que deve validar os parâmetros, havendo inconsistências redireciona para a página inicial, estando tudo OK, submete para outro JSP.

Minha é dúvida é justamente esse ALGUMA_COISA, que em alguns casos conterá as regras de negócios, li que devemos evitar excesso de código Java nos JSP’s, então o que deve ser esse ALGUMA_COISA, como monto isso?

valeu
obrigado

Vamos direto ao assunto, o seu ALGUMA_COISA é algum metodo no servidor(ou é um Servlet puro ou uma “action” do seu framework) que com certeza e na pratica vai conter validações e regras de negocio, ponto final ! No JSP vc só tem campos de entrada de dados e exibição, no servidor vc tem toda a manipulação dos dados e nada de misturar codigo Java no JSP ou então é melhor vc continuar com o PHP !!!

PS: Vc lendo as apostilas da Caelum não tem como não aprender o java e as boas praticas de desenvolvimento e os padrões de projeto para desenvolver uma aplicação real de verdade.

kzar.razk

Não existem regras. O uso de scriptlets é desaconselhado pois seus substitutos (geralmente taglibs) tendem a ter menos erros em tempo de execução. Como exemplo pode-se ler um bean com uma tag ou através do getAtribute(***), mas a segunda opções deve-se ter consciência de verificar se a referência é nula. Não confunda ARQUITETURA (algo muito mais ligado a como as coisas estão organizadas) com FRAMEWORK (uma implementação de determinada organização). Na verdade os desenvolvedores que conhecem profundamente scriptlets por fim tem muito mais consciência do que as taglibs estão fazendo, e também o que as frameworks pretendem ajudar a resolver diante do tempo de vida de uma requisição.

Criado 21 de dezembro de 2010
Ultima resposta 17 de fev. de 2011
Respostas 10
Participantes 8