Estou estudando Java, mais precisamente para desenvolvimento Web, e estou com algumas dúvidas…
Por que utilizarmos JavaBeans e não classes comuns, já que essas também podem ser importadas e instanciadas no código, como o bean?
Qual a vantagem do Bean?
Preciso conectar o JSP em um BD, é errado eu fazer essa conexão através do Bean? Qual seria a outra forma?
Desculpe se as perguntas são muito básicas, mas estou tendo que me virar para desenvolver parte da Intranet do meu trabalho cuja linguagem padrão é JSP.
Estou estudando Java, mais precisamente para desenvolvimento Web, e estou com algumas dúvidas…
Bons estudos
JavaBeans é um padrão adotado pela Sun para você representar classes de negócios independente de plataforma. Assim teoricamente você pode utilizar um mesmo JavaBean para uma aplicação WEB como uma aplicação Desktop, claro, sempre evitiando o máximo de acoplamento . Por ser um padrão, é uma idéia boa para utilizar ele ao invés de milhoes de classes que as vezes faz sentido para você, mas não faz sentido para outra pessoa, além de vários frameworks trabalharem em cima desse padrão, exemplo o Spring.
Vantagem de deixar o código mais claro, de poder “utilizar” em várias plataformas, utilizar ele como entidades de camadas de persistencia como Hibernate/JPA/EJB3
Sim. Utilize o pattern DAO (Data Access Object). Dentro do Bean você pode ter um método de negócio ,por exemplo public List getListClientes(), que retorna um java.util.List para você apresentar na tela (JSP), mas a conexão deve ficar isolada do Bean.
Se é apenas JSP tem algo errado ai na arquitetura. Você deve utilizar no mínimo o padrão MVC (Model View Controller).
Aconselho a estudar bem esse padrão, assim como as funcionalidades e responsabilidades do JSP / Servlet / Beans. Depois disso aconselho você dar um olhada em alguma framework MVC, assim como o hibernate, spring, etc etc etc