/** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    HttpSession sesion = request.getSession();

    /*Recuperamos el usuario y el curso de sesion*/
    Usuario u = (Usuario) sesion.getAttribute("usuario");
    /*Recuperamos de la sesion el curso del foro*/
    int id_curso = (int) sesion.getAttribute("idCurso");
    Curso c = null;
    try {
      c = curDao.recuperarCursoPorPK(id_curso);
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    /*Recuperamos el mensaje*/
    String mensaje = request.getParameter("mensaje");

    /*Creamos un mensaje con el contenido, el emisor y el curso del foro y lo metemos en la cola*/
    Mensaje msg = new Mensaje(mensaje, u, c);

    colaMensajes.enviar(msg);

    this.getServletConfig()
        .getServletContext()
        .getRequestDispatcher("/Foro.jsp")
        .forward(request, response);
  }
  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    /*CARGAR LOS MENSAJES*/

    HttpSession sesion = request.getSession();

    /*Recuperamos de la sesion el curso del foro*/
    int id_curso = (int) sesion.getAttribute("idCurso");
    Curso c = null;
    try {
      c = curDao.recuperarCursoPorPK(id_curso);
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    /*Recuperamos de la BBDD los matriculados y los mensajes del curso*/
    Collection<Matricula> matriculas = null;
    Collection<Mensaje> mensajes = null;
    try {
      mensajes = msgDao.recuperarMensajePorCurso(c.getID_curso());
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    try {
      matriculas = matDao.recuperarMatriculaPorCurso(c.getID_curso());
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    /*Enviamos a la vista los mensajes y los matriculados*/
    request.setAttribute("listaMensajes", mensajes);
    request.setAttribute("matriculascursoactual", matriculas);
    request.setAttribute("curso", c);

    /*Dispahcher*/
    this.getServletContext().getRequestDispatcher("/Foro.jsp").forward(request, response);
  }
  /** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    String tematica = request.getParameter("filtroTematica");
    String precioStr = request.getParameter("filtroPrecio");
    String dificultadStr = request.getParameter("filtroDificultad");

    int dificultad = Integer.parseInt(dificultadStr);
    int precio = Integer.parseInt(precioStr);

    Collection<Curso> cursosRet = null;

    String pagina = "";
    pagina = ENTRADA_JSP;

    if (!tematica.equals("") && precio == 0 && dificultad == -1) {

      try {
        cursosRet = curDao.recuperarCursosPorTematica(tematica);
        pagina = BUSCAR_CURSOS_JSP;
        request.setAttribute("cursos", cursosRet);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    if (tematica.equals("") && precio != 0 && dificultad == -1) {

      try {
        cursosRet = curDao.recuperarCursosPorPrecio(precio);
        pagina = BUSCAR_CURSOS_JSP;
        request.setAttribute("cursos", cursosRet);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    if (tematica.equals("") && precio == 0 && dificultad != -1) {

      try {
        cursosRet = curDao.recuperarCursosPorDificultad(dificultad);
        pagina = BUSCAR_CURSOS_JSP;
        request.setAttribute("cursos", cursosRet);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    if (!tematica.equals("") && precio != 0 && dificultad == -1) {

      try {
        cursosRet = curDao.recuperarCursosPorPrecioYTematica(precio, tematica);
        pagina = BUSCAR_CURSOS_JSP;
        request.setAttribute("cursos", cursosRet);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    if (!tematica.equals("") && precio == 0 && dificultad != -1) {

      try {
        cursosRet = curDao.recuperarCursosPorDificultadYTematica(dificultad, tematica);
        pagina = BUSCAR_CURSOS_JSP;
        request.setAttribute("cursos", cursosRet);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    if (tematica.equals("") && precio != 0 && dificultad != -1) {

      try {
        cursosRet = curDao.recuperarCursosPorPrecioYDificultad(precio, dificultad);
        pagina = BUSCAR_CURSOS_JSP;
        request.setAttribute("cursos", cursosRet);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    if (!tematica.equals("") && precio != 0 && dificultad != -1) {

      try {
        cursosRet =
            curDao.recuperarCursosPorPrecioYDificultadYTematica(dificultad, tematica, precio);
        pagina = BUSCAR_CURSOS_JSP;
        request.setAttribute("cursos", cursosRet);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    if (tematica.equals("") && precio == 0 && dificultad == -1) {

      try {
        cursosRet = curDao.buscarTodosLosCursos();
        pagina = BUSCAR_CURSOS_JSP;
        request.setAttribute("cursos", cursosRet);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    config2.getServletContext().getRequestDispatcher(pagina).forward(request, response);
  }