Bom dia, gostaria de saber sobre melhores práticas, por exemplo:
Estou desenvolvendo um sistema simples em JSP, gostaria de saber qual a real necessidade de utilização de um JavaBean na minha aplicação.
Fiz a conexão e retorno de dados no próprio JSP, até ai tudo bem. Mas ontem estudando cheguei no JavaBean, aonde posso carregar códigos java p/ meu JSP por exemplo.
A melhor pratica seria, utilizar JavaBean p/ fazer o controle da minha aplicação (conexões, trabalhar DB, regras de negócio, etc), ou continuar utilizando implementando tudo no JSP mesmo?
Existe uma melhor prática entre a utilização de JSP puro ou JSP + JavaBean, ou tanto faz nesse caso, as duas maneiras são melhores práticas?
E sobre a questão de performance? Por eu estar carregandno um JavaBean torna minha aplicação mais “lenta” ou “pesada”, mesmo que inperceptível ao usuário?
Vamos lá:
Escrever código Java no meio de código HTML nunca vai ser uma boa opção. O motivo é a baixa manutenabilidade, ou seja, é complicado de dar manutenção nesse código.
Ele fica complicado e sujo. Além de você não conseguir isolar responsabilidades. Então, sim, JavaBeans são MUITO melhores que programar Java no meio do HTML.
Para isso existe a JSP que veio para facilitar a sua vida. Ela permite que, com expression language, você faça um pseudo-código Java no meio do seu HTML. Aonde a lógica por trás desse pseudo-código está no Java.
Sobre performance: As duas formas são equivalentes, de certa forma. É melhor JavaBean e isolar tudo que for código Java no Java, ou seja, nada de usar <% … %> (scriplet).
Tome cuidado para não confundir JSP com HTML e, consequentemente, com Java. O que você faz na JSP é transformado em TEXTO no servidor. Ou seja, é tudo código Java trabalhando para gerar um texto HTML que esse sim vai ser enviado ao cliente. Uma vez enviado, ele se comporta como uma página estática, não existe forma de ele voltar para o servidor só para fazer um get de algo. É tudo feito antes.
Para ver isso, basta ver o source no seu browser, ele vai ser um HTML gigante com todos os valores preenchidos. Nada de Java no meio…
Sobre os controles como DB e conexões, eu aprofundaria mais um pouco os estudos. Você vai ver que existem frameworks para te ajudar com isso.