MVC, Servlets e Organização de Pacotes

6 respostas
B

Bom dia pessoal,

Gostaria de um auxílio de vocês. Estou iniciando em projetos JEE e estou tendo algumas dúvidas. Procurei aqui no GUJ, mas nao encontrei nada que respoondesse a minh dúvida por completa.

Seguinte, estou lendo o livro Head First - JSP e Servlets e estou tentando criar uma aplicação de exemplo. Nela, eu quero aplicar o DP MVC. Pois bem.

Primeira dúvida: Primeiramente eu criei 3 pacotes: model, view, control. Porém, estou percebendo que as views devem ficar dentro da pasta webcontent, é isso mesmo?? Eu nao posso ter um pacote com as views la dentro de src nao?

Segunda dúvida: gostaria de saber de vocês o seguinte: Vocês utilizam um pacote “bean” somente com os beans das entidades (gets e sets) e jogam toda a regra de negocio dentro de outra classe dentro de model ?? Ou, utilizam a propria classe do bean para programar as regras de negócio?

Terceira dúvida: Na hora de desenvolver os controles (servlets), vcs criam 1 para cada modelo (por ex, passando via quer string se eh para cadastrar, alterar, deletar) ou vcs criam um para cada operação do modelo? Sei que a grande maioria aqui deve utilizar algum frmw MVC (struts, jsf, vraptor, mtw …), mas eu queria saber como fariam isso utilizando apenas de servlets…

Acho que é só, pelo menos por eqt…rs

vlw pessoal

6 Respostas

L

Não, não pode. E, na realidade, a pasta WebContent é um recurso existente apenas no projeto do Eclipse, porque na hora de gerar o war, tudo o que é fonte class fica dentro de WEB-INF/class e tudo que é jsp e html fica na raiz.

Polêmico, hein? O ideal seria não haver gettters e setters e tivesse uma classe com as regras de negócio com os seus valores privados. Mas na prática isso é impossível, pois no Java não inventaram um outro jeito de colocar os valores na view sem ser via getter. Na prática, o melhor é usar a própria classe do bean para colocar regras de negócio.

O ideal é um servlet pra cada modelo, apesar do próprio modelo Servlet não ajudar pra isso. Por isso, pessoas que não são masoquistas ou que não querem simplesmente fazer um negócio “rapidinho” utiliza algum tipo de framework.

Mas pra fazer esse tipo de servlet pra cada modelo, você deve mapear no web.xml o Servlet pro caminho, por exemplo, “produto/*”, e no seu servlet fazer (isso é só um trecho de exemplo que eu não compilei, não leve a ferro e fogo):

// mapeamento para produto/editar
if ("editar".equals(request.getPathInfo())) {
    editar();
} else if ("apagar".equals(request.getPathInfo())) { mapeamento para produto/apagar
    apagar()
}
.....

Certo?

eric_jf

bt.jf:

Segunda dúvida: gostaria de saber de vocês o seguinte: Vocês utilizam um pacote “bean” somente com os beans das entidades (gets e sets) e jogam toda a regra de negocio dentro de outra classe dentro de model ?? Ou, utilizam a propria classe do bean para programar as regras de negócio?

Terceira dúvida: Na hora de desenvolver os controles (servlets), vcs criam 1 para cada modelo (por ex, passando via quer string se eh para cadastrar, alterar, deletar) ou vcs criam um para cada operação do modelo? Sei que a grande maioria aqui deve utilizar algum frmw MVC (struts, jsf, vraptor, mtw …), mas eu queria saber como fariam isso utilizando apenas de servlets…

Acho que é só, pelo menos por eqt…rs

vlw pessoal

Tem como implementar um MVC com os padroes de projeto, utilizando Front Controller e Command.
Vou ver se acho um tutorial q eu vi falando como se faz.

eric_jf

achei
http://www.argonavis.com.br/cursos/java/j550/j550_12.pdf

B

Somente 2 opiniões?!

Falo isso pq vejo mts pessoas falando q criam um pacote so com o BEAN e outro pacote(MODELO) para a regra de negocios…essa é a melhor solucao?!

alguem mais?

B

bt.jf:
Somente 2 opiniões?!

Falo isso pq vejo mts pessoas falando q criam um pacote so com o BEAN e outro pacote(MODELO) para a regra de negocios…essa é a melhor solucao?!

alguem mais?

tantas visitas e somente 2 responderam … :frowning:

eric_jf

bt.jf:
Somente 2 opiniões?!

Falo isso pq vejo mts pessoas falando q criam um pacote so com o BEAN e outro pacote(MODELO) para a regra de negocios…essa é a melhor solucao?!

alguem mais?

Regras de negocios e modelos são coisas diferentes e vc deve colocar em pacotes diferentes.

vc pode criar um pacote bean e outro chamado facade.

Modelo (bean) nao deve conter regra de negocios, só get e set.

Para mais detalhes: http://fragmental.com.br/wiki/index.php?title=MVC_e_Camadas

Criado 7 de janeiro de 2008
Ultima resposta 8 de jan. de 2008
Respostas 6
Participantes 3