No explicare como funciona el MVC ni abarcaré la conexión a base de datos, el ejemplo se ajusta a los principios básicos para poder trabajar con JavaBeans mediante un Servlet y archivos JSP.
Proyecto realizado con Netbeans 7.1.2, Hibernate 3.2.5, Java EE 6 Web. Disponible para descargar: JBeans_WebApplication.zip
Creando nuestra aplicación
Creamos un nuevo proyecto web en Netbeans, Java Web -> Web Application.
Seleccionamos en Framework Hibernate, para este ejemplo en database connection seleccionamos jdbc:derby://localhost:1527/sample o la conexión a nuestra base de datos.
En caso de no tener disponible la opción Sample database y de no poseer ninguna otra conexión podemos hablitar esta última en la pestaña Servicios Java DB -> Sample -> Botón derecho [Connect...]
Procedemos a crear un nuevo Servlet: File->New File...->Web->Servlet
Para efectos de este tutorial le nombraremos mainController.
Básicamente utilizaremos el Servlet como el controllador para las demás páginas que hemos creado:
Creando nuestro JavaBean
Procedemos a crear un nuevo JavaBeans: File->New File...->JavaBeans Component
para efectos del ejemplo lo nombraremos DataBean.
Una vez creado este genera los métodos Get y Set de forma automática, para este ejemplo bastará con renombrar la variable sampleProperty por skill.
MainController Servlet
En nuestro nuevo servlet y buscamos el método processRequest eliminamos el contenido y pegamos el siguiente código obteniendo como resultado::
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //crea el Bean DataBean reqData = new DataBean(); //le da accesibilidad desde los JSPs request.getSession().setAttribute("refData", reqData); //copia el parametro del request al bean reqData.setSkill(request.getParameter("skill")); //determina que boton fué pusado y a que //pagina debe redirigir String address; if (request.getParameter("processButton") != null){ address = "process.jsp"; }else if (request.getParameter("confirmButton") != null){ address = "confirm.jsp"; }else if (request.getParameter("returnButton") != null){ address = "index.jsp"; }else{ address = "edit.jsp"; } RequestDispatcher dispatcher = request.getRequestDispatcher(address); dispatcher.forward(request, response); }
Creando los ficheros JSPs
Ademas del archivo index.jsp crearemos 3 archivos JSP adicionales con los siguientes nombres:
- process.jsp
- confirm.jsp
- edit.jsp
A continuación los bloques de código para cada archivo JSP.
Index.jsp
Ejemplo de uso, JavaBean.
Java Netbeans 7.1.2
Edit.jsp
Confirm.jsp
La tecnología reportada a esta página es: ${refData.skill} En caso de error presione el botón Editar, caso contrario el botón Procesar.
Process.jsp
Se ha agregado la tecnología ${refData.skill}. Gracias!
Algunas notas importantes
Como se puede observar nuestro objeto refData fue creado en el MainController y representa nuestro JavaBean.
Cada form html posee un parametro action el cual hace un llamado a nuestro MainController, una vez allí nuestro Bean recibe el valor enviado mediante el request en el servlet:
reqData.setSkill(request.getParameter("skill"));
Con esto estará disponible para luego obtener su valor desde los JSPs mediante:
${refData.skill}
La instrucción:
input name="skill" type="hidden" value="${refData.skill}"
se utiliza para reenviar el valor al Servlet desde el JSP, tal es el caso de Confirm.jsp que recibe el valor y luego lo reenvia a Edit o Process.