Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Error de ejemplo MVC en Java Web

Estas en el tema de Error de ejemplo MVC en Java Web en el foro de Java en Foros del Web. Buenas noches, actualmente estoy siguiendo un tutorial en el cual indicaban como utilizar el patrón MVC con Java y se desarrolló un ejemplo de una ...
  #1 (permalink)  
Antiguo 01/05/2015, 21:34
 
Fecha de Ingreso: diciembre-2012
Ubicación: Lima
Mensajes: 37
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta Error de ejemplo MVC en Java Web

Buenas noches, actualmente estoy siguiendo un tutorial en el cual indicaban como utilizar el patrón MVC con Java y se desarrolló un ejemplo de una pequeña encuesta. E seguido los pasos al pie de la letra pero al ejecutar la aplicación tengo errores. Agradecería me puedan ayudar.

Cree primero una pagina JSP donde se ingresa un nombre y se selecciona con checkbox un lenguaje de programación que conozcamos.


Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.     <head>
  3.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4.         <title>Encuesta</title>
  5.     </head>
  6.     <body>
  7.        
  8.         <h1>Bienvenido a la encuesta para desarrolladores </h1>
  9.         <p>Por favor seleccione los lenguajes con los que esta familiarizado: </p>
  10.        
  11.         <form action="ServletController" method="post">
  12.             <table border="0">
  13.                 <tbody>
  14.                     <tr>
  15.                         <td>Ingrese su nombre: </td>
  16.                         <td><input type="text" name="nombreCompleto" value="" /></td>
  17.                     </tr>
  18.                     <tr>
  19.                         <td>Java</td>
  20.                         <td><input type="checkbox" name="progLeng" value="Java" /></td>
  21.                     </tr>
  22.       @WebServlet(name = "ServletController", urlPatterns = {"/ServletController"})
  23. public class ServletController extends HttpServlet {
  24.  
  25.     /**
  26.      * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
  27.      * methods.
  28.      *
  29.      * @param request servlet request
  30.      * @param response servlet response
  31.      * @throws ServletException if a servlet-specific error occurs
  32.      * @throws IOException if an I/O error occurs
  33.      */
  34.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  35.             throws ServletException, IOException {
  36.         response.setContentType("text/html;charset=UTF-8");
  37.         DatosEncuesta datosEncuesta = new DatosEncuesta();
  38.         //Instanciamos un objeto de la clase "DatosEncuesta" la cual es una clase JavaBean
  39.        
  40.         datosEncuesta.setNombreCompleto(request.getParameter("nombreCompleto"));
  41.         //asignamos lo recibido del objeto request proporcionado del JSP inicial a un atributo del objeto instanciado.
  42.         datosEncuesta.setProgLeng(request.getParameterValues("progLeng"));
  43.         //asignamos lo recibido del objeto request proporcionado del JSP inicial a un atributo del objeto instanciado.
  44.         request.setAttribute("datosEncuesto", datosEncuesta);
  45.         //para que sirve esto.
  46.         request.getRequestDispatcher("salida.jsp").forward(request, response);              <tr>
  47.                         <td>PHP</td>
  48.                         <td><input type="checkbox" name="progLeng" value="PHP" /></td>
  49.                     </tr>
  50.                     <tr>
  51.                         <td><input type="submit" value="Enviar" /></td>
  52.                     </tr>
  53.                 </tbody>
  54.             </table>
  55.  
  56.         </form>
  57.     </body>
  58. </html>

Posterior a eso cree un paquete un paquete “package com.videotutoriales.primera.controller;” donde guarde el servlet que seria el controlador.
El codigo de este controlador es:

Código Java:
Ver original
  1. @WebServlet(name = "ServletController", urlPatterns = {"/ServletController"})
  2. public class ServletController extends HttpServlet {
  3.  
  4.     /**
  5.      * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
  6.      * methods.
  7.      *
  8.      * @param request servlet request
  9.      * @param response servlet response
  10.      * @throws ServletException if a servlet-specific error occurs
  11.      * @throws IOException if an I/O error occurs
  12.      */
  13.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  14.             throws ServletException, IOException {
  15.         response.setContentType("text/html;charset=UTF-8");
  16.         DatosEncuesta datosEncuesta = new DatosEncuesta();
  17.         //Instanciamos un objeto de la clase "DatosEncuesta" la cual es una clase JavaBean
  18.        
  19.         datosEncuesta.setNombreCompleto(request.getParameter("nombreCompleto"));
  20.         //asignamos lo recibido del objeto request proporcionado del JSP inicial a un atributo del objeto instanciado.
  21.         datosEncuesta.setProgLeng(request.getParameterValues("progLeng"));
  22.         //asignamos lo recibido del objeto request proporcionado del JSP inicial a un atributo del objeto instanciado.
  23.         request.setAttribute("datosEncuesto", datosEncuesta);
  24.         //para que sirve esto.
  25.         request.getRequestDispatcher("salida.jsp").forward(request, response);


A la par cree otro paquete “com.videotutoriales.primera.model;” donde almacene un JavaBean el cual manejaria la parte del modelo de la aplicación. El codigo es:

Código Java:
Ver original
  1. public class DatosEncuesta {
  2.  
  3.     private String nombreCompleto;
  4.     private String[] progLeng;
  5.    
  6.     // Add business logic below. (Right-click in editor and choose
  7.     // "Insert Code > Add Business Method")
  8.  
  9.     public String getNombreCompleto() {
  10.         return nombreCompleto;
  11.     }
  12.  
  13.     public void setNombreCompleto(String nombreCompleto) {
  14.         this.nombreCompleto = nombreCompleto;
  15.     }
  16.  
  17.     public String[] getProgLeng() {
  18.         return progLeng;
  19.     }
  20.  
  21.     public void setProgLeng(String[] progLeng) {
  22.         this.progLeng = progLeng;
  23.     }
  24. }

Para finalizar cree una pagina JSP “salida.jsp” de salida en la cual mostraria el nombre ingresado y una lista de los lenguajes seleccionados, el codigo es el siguiente

Código Java:
Ver original
  1. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  2. <!DOCTYPE html>
  3. <html>
  4.     <head>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6.         <title>Resultados</title>
  7.     </head>
  8.     <body>
  9.         <h2> Gracias por cubrir nuestra encuesta</h2>
  10.         <p>
  11.             <jsp:getProperty name="datosEncuesta" property="nombreCompleto" />
  12.             Usted conoce los lenguajes :
  13.             <jsp:useBean id="datosEncuesta" scope="request" class="com.videotutoriales.primera.model.DatosEncuesta" />
  14.         </p>
  15.        
  16.         <ul>
  17.             <%
  18.                 String[] lenguajesSeleccionados = datosEncuesta.getProgLeng();
  19.             //la sentencia anterior captura en una array todos los valores del grupo de checkbox del objeto request
  20.             if (lenguajesSeleccionados != null){
  21.                 for (int i = 0; i< lenguajesSeleccionados.length; i++){
  22.             %>
  23.             <li>
  24.             <%=lenguajesSeleccionados[i]%>
  25.             </li>
  26.             <%
  27.                 }
  28.             }
  29.             %>
  30.         </ul>
  31.     </body>
  32. </html>


Al ejecutar el aplicativo me aparece el siguiente error.


Al parecer el error es en el codigo de la linea 17 en el JSP de salida, pero no entiendo porque se esta produciendo este error.
Gracias de ante mano por su apoyo.
__________________
**********
I can do it !!!
**********

Etiquetas: jsp, mvc
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:18.