java.lang.NullPointerException ao passar para servlet

Bom dia estou com uma dificuldade em passar os dados de uma jsp para o servlet que vai inserir os dados no banco, fiz três formulários para agendamento e no terceiro ele vai mandar para a servlet porém aparece o erro java.lang.NullPointerException

Jsp-----------------------

<!DOCTYPE html>
<%
String cpf = request.getParameter("cpf");
Cliente c = new Cliente();
try{
   c.setCpf(cpf);
   c.carregar();
}catch(Exception e){
    out.print("Erro:"+e);
}

%>
<%
String idservico = request.getParameter("idservico");
Servico s = new Servico();
try{
   s.setIdservico(Integer.parseInt(idservico));
   s.carregar();
}catch(Exception e){
    out.print("Erro:"+e);
}

%>
<%
    String funcionario_cpf = request.getParameter("funcionario_cpf");
Funcionario f = new Funcionario();
try{
   f.setCpf(funcionario_cpf);
   f.carregar();
}catch(Exception e){
    out.print("Erro:"+e);
}

%>
<%
String data = request.getParameter("data");
Agendamento a = new Agendamento();
ArrayList<Agendamento> agendados=new ArrayList<Agendamento>();
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
try{
  agendados =  a.listarPorDataCPF( df.parse(data), funcionario_cpf);
}catch(Exception e){
    out.print("Erro:"+e);
}

String[] horarios = {"09:00","09:30","10:00","10:30","11:00","11:30","12:00","12:30","13:00","13:30","14:00","14:30","15:00","15:30","16:00","16:30","17:00","17:30"};

%>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>

<script>
function goBack() {
    window.history.back();
}
</script> 
    </head>
    <body>
         <%@include file="menu.jsp" %>
        <center>
        <h1>Registrar Agendamento do Cliente</h1>
        <form action="gerenciar_agendamento.do" method="post" id="form_agenda">
            <input type="hidden" name="op" value="inserir"/>
            <b>Cpf :</b><%=c.getCpf() %> /
            <b>Nome do Cliente:</b><%=c.getNome() %><br/>
            <b>Servico:</b> <%=s.getNome() %> (R$<%=s.getPreco() %>)<br/>
            <b>Funcionário</b> <%=f.getNome()%><br/>
            <b>Data:</b> <%=df.parse(data).toString() %><br/>
            <%
            for(int i=0;i<horarios.length;i++){
                boolean existe=false;
                for(Agendamento ag:agendados){
                    if(ag.getHora().toString().equals(horarios[i]+":00")){
                        existe=true;
                    }
                }
                if(existe){
                    out.print(horarios[i]+" (indisponível)<br/>");
                }else{
                    out.print(horarios[i]+"<input type='radio' name='horario'/><br/>");
                }
                
            }
            %>
            <input type='button' value='Voltar' onclick="javascript: history.go(-1)" />
            </select><input type="submit" value="próximo" /><br/>
            <br><br><br><br>
            </center>
    </body>
</html>

Servlet------------------

String op = request.getParameter("op");
            String idagendamento = request.getParameter("idagendamento");
            String data = request.getParameter("data");
            String hora = request.getParameter("hora");
            String valor = request.getParameter("valor");
            String situacao_pagamento = request.getParameter("situacao_pagamento");
            String situacao_servico = request.getParameter("situacao_servico");
            String cliente_cpf = request.getParameter("cliente_cpf");
            String servico_idservico = request.getParameter("servico_idservico");
            String funcionario_cpf = request.getParameter("funcionario_cpf");            
            try {
                Agendamento a = new Agendamento();
                switch (op) {
                    case "inserir":{
                        if(data.equals("") || data.isEmpty()){
                            out.print("O campo DATA deve ser preenchido!");
                        }else if(hora.equals("") || hora.isEmpty()){
                            out.print("O campo HORA deve ser preenchido!");
                        }else if(valor.equals("") || valor.isEmpty()){
                            out.print("O campo VALOR deve ser preenchido!");                            
                        }else if(situacao_pagamento.equals("") || situacao_pagamento.isEmpty()){
                            out.print("O campo SITUAÇÃO PAGAMENTO deve ser preenchido!");
                        }else if(situacao_servico.equals("") || situacao_servico.isEmpty()){
                            out.print("O campo SITUAÇÃO SERVIÇO deve ser informada!");
                        }else if(cliente_cpf.equals("") || cliente_cpf.isEmpty()){
                            out.print("O campo CLIENTE deve ser selecionado!");
                        }else if(servico_idservico.equals("") || servico_idservico.isEmpty()){
                            out.print("O campo SERVIÇO deve ser selecionado!");
                        }else if(funcionario_cpf.equals("") || funcionario_cpf.isEmpty()){
                            out.print("O campo FUNCIONÁRIO deve ser selecionado!");
                        }else{
 
                            SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");                
                            format.format( new Date()   );                    
                            a.setData(format.parse(data));
                
                
                            SimpleDateFormat formatador = new SimpleDateFormat("HH:mm");
                            Date horaa = formatador.parse(hora);
                            Time time = new Time(horaa.getTime());
                            a.setHora(time);  
                            
                            
                            a.setValor(Double.parseDouble(valor));
                            a.setSituacao_pagamento(Boolean.parseBoolean(situacao_pagamento));
                            a.setSituacao_servico(Boolean.parseBoolean(situacao_servico));
                            Cliente c = new Cliente();
                            c.setCpf(cliente_cpf);
                            Servico s = new Servico();
                            s.setIdservico(Integer.parseInt(servico_idservico));
                            Funcionario f = new Funcionario();
                            f.setCpf(funcionario_cpf);
                            a.registrarAgendamento();
                            response.sendRedirect("listar_agendamento.jsp");
                        }
                    }

Por favor quem puder me ajudar, estou com essa dificuldade, e essa ocorrendo o erro que falei antes