@HttpMethod(HttpMethodType.POST)
  @RequireLogin(true)
  public void guardarDocente() throws Exception {

    Docente docente = null;
    Personaa persona = null;
    JSONObject mensaje = new JSONObject();
    mensaje.put("exito", false);
    mensaje.put("mensaje", "Ocurrio un error al regstrar el Docente");
    try {
      //	SimpleDateFormat forma=new SimpleDateFormat("yyyy-MM-dd");

      // String jsonbj = new Gson().toJson(json);

      /*insertarCamposDinamicos("t_telefono_profesor",json_telefono,"telefono","1");
      insertarCamposDinamicos("t_telefono_profesor",json_email,"email","1");
      insertarCamposDinamicos("t_telefono_profesor",json_documento,"documento","1");*/
      /*
      response.setContentType("application/json");
      response.setCharacterEncoding("utf-8");
      PrintWriter out = response.getWriter(); */

      String tipoRegistro = request.getParameter("tipoRegistro");
      int idPersona = Integer.parseInt(request.getParameter("codigo"));
      String url_foto = request.getParameter("urlfoto");
      System.out.print("\n" + 1 + "\n");
      String nombre = request.getParameter("nombres");
      System.out.print("\n" + 2 + "\n");
      String apellido_paterno = request.getParameter("apellidopaterno");
      System.out.print("\n" + 3 + "\n");
      String apellido_materno = request.getParameter("apellidomaterno");
      System.out.print("\n" + 4 + "\n");
      String sexo = request.getParameter("sexo");
      System.out.print("\n" + 5 + "\n");
      char estado_civil = request.getParameter("estadocivil").charAt(0);
      System.out.print("\n" + 6 + "\n");
      String fecha_nacimiento = request.getParameter("fechanacimiento");
      System.out.print("\n" + 7 + "\n");
      int id_Pais_nacionalidad = Integer.parseInt(request.getParameter("pais"));
      System.out.print("\n" + 8 + "\n");
      int id_Departamento_nacionalidad = Integer.parseInt(request.getParameter("departamento1"));
      System.out.print("\n" + 9 + "\n");
      int id_Provincia_nacionalidad = Integer.parseInt(request.getParameter("provincia1"));
      System.out.print("\n" + 10 + "\n");
      int id_Distrito_nacionalidad = Integer.parseInt(request.getParameter("distrito1"));
      System.out.print("\n" + 11 + "\n");
      int id_Departamento_direccion = Integer.parseInt(request.getParameter("departamento2"));
      System.out.print("\n" + 12 + "\n");
      int id_Provincia_direccion = Integer.parseInt(request.getParameter("provincia2"));
      System.out.print("\n" + 13 + "\n");
      int id_Distrito_direccion = Integer.parseInt(request.getParameter("distrito2"));
      System.out.print("\n" + 14 + "\n");
      String referencia_direccion = request.getParameter("referencia");
      System.out.print("\n" + 15 + "\n");
      char estado = '1';

      persona = new Personaa();
      persona.setIdPersona(idPersona);
      persona.setNombre1(nombre);
      persona.setApePaterno(apellido_paterno);
      persona.setApeMaterno(apellido_materno);
      persona.setSexo(sexo);
      DAOFactory dao = DAOFactory.getDAOFactory(DAOFactory.MYSQL);
      DAOFactoryRegDocente regdoce = dao.getRegistroDocente();
      int idPersonaRes = -1;
      if (tipoRegistro == null) {
        idPersonaRes = regdoce.regDocente().guardarPersona(persona);
      } else {
        idPersonaRes = regdoce.regDocente().modificarPersona(persona);
      }

      System.out.print("\n" + idPersonaRes + "\n");
      docente = new Docente();
      docente.setId_docente(idPersona);
      docente.setUrl_foto(url_foto);
      docente.setEstado_civil(estado_civil);
      docente.setId_Pais_nacionalidad(id_Pais_nacionalidad);
      docente.setId_Departamento_nacionalidad(id_Departamento_nacionalidad);
      docente.setId_Provincia_nacionalidad(id_Provincia_nacionalidad);
      docente.setId_Distrito_nacionalidad(id_Distrito_nacionalidad);
      docente.setId_Departamento_direccion(id_Departamento_direccion);
      docente.setId_Provincia_direccion(id_Provincia_direccion);
      docente.setId_Distrito_direccion(id_Distrito_direccion);
      docente.setFecha_nacimiento(fecha_nacimiento);
      docente.setEstado(estado);
      docente.setReferencia_direccion(referencia_direccion);
      /*
      docente.setCorreo(correo);
      docente.setTipo_documento(tipo_documento);
      docente.setGrado_academico(grado_academico);
      docente.setProfecion(profecion);
      docente.setEspecialidad(especialidad);
      docente.setInstitucion(institucion);
      docente.setFecha_ingreso(fecha_ingreso);*/

      //		DAOFactoryRegDocente regdoce = dao.getRegistroDocente();
      boolean resultadoExito = false;
      if (tipoRegistro == null) {
        resultadoExito = regdoce.regDocente().guardarDocente(docente);
      } else {
        resultadoExito = regdoce.regDocente().modificarDocente(docente);
      }

      response.setContentType("application/json");
      response.setCharacterEncoding("utf-8");
      PrintWriter out = response.getWriter();
      if (resultadoExito) {
        String json_telefono = request.getParameter("json_telefono");
        String json_email = request.getParameter("json_email");
        String json_documento = request.getParameter("json_documento");
        String json_gradoAcademico = request.getParameter("json_gradoAcademico");

        if (!json_telefono.equals("[]"))
          regdoce.regDocente().guardarTelefonos(json_telefono, "" + idPersona);

        if (!json_email.equals("[]"))
          regdoce.regDocente().guardarEmails(json_email, "" + idPersona);

        if (!json_documento.equals("[]"))
          regdoce.regDocente().guardarDocumentos(json_documento, "" + idPersona);

        if (!json_gradoAcademico.equals("[]"))
          regdoce.regDocente().guardarGradosAcademicos(json_gradoAcademico, "" + idPersona);

        mensaje.put("exito", true);
        mensaje.put("mensaje", "El Docente fue registrado satisfactoriamente");
      }

      out.print(mensaje);
      // request.setAttribute("mensaje", mensaje);

      // request.getRequestDispatcher("/RegistroDocente/mensaje.jsp").forward(request, response);

    } catch (Exception e) {
      // TODO: handle exception
      System.out.print(e.getMessage());
    }
  }