Não consigo colocar os dados do banco de dados em uma table JSP Servlet

Estou desenvolvendo um aplicação web utilizando jsp e servlet e quero mostrar todos os meus registros do meu banco de dados e a quantidade de registros em uma table, criei um DAO em que realizei as consultas em que retornam os dados corretamente e coloquei em uma sessão em uma servlet dando o nome de sessaoListaMotoristasTodos e totalMotorista mas ao passar os valores recuperados com request.getSession().getAttribute("") e atribuir as variaveis, os valores não são atribuidos, as variaveis estão com nome de List listaMotoristas e Integer totalRegistros dando um erro de java.lang.NullPointerException.

JSP

<%-- 
Document   : listaMotoristas
Created on : 10/09/2017, 14:15:17
Author     : Tulio
 --%>

<%@page import="java.util.Iterator"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="Classes.MotoristasDAO"%>
 <%@page import="java.util.List"%>
  <%@page import="Classes.Motoristas"%>
  <%@page contentType="text/html" pageEncoding="UTF-8"%>
 <!DOCTYPE html>
 <html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" href="css/css.css" type="text/css">
    <title>JSP Page</title>
</head>
<body>
  
    
    
    <div class="conteudo2">
    <img src="imagens/imagens.jpg" alt="motorista" id="motorista">
    </div>
    <nav id="menu">

        <div class="conteudo"> <a href="index.jsp">Controle Motoristas</a></div>
        <div class="conteudo"> <a href="passageiros.jsp">Controle Passageiros</a></div>
        <div class="conteudo"><a href="#">Controle Corridas</a></li></div>
    </nav>
      <h1>Lista de Motoristas Cadastrados</h1>
      
      <%
          
    int limite=3;
    String numPagina=request.getParameter("numeroPagina");
   if(numPagina==null){
    numPagina="1";
   int offset=(Integer.parseInt(numPagina)*limite)-limite;

    }
  List  listaMotoristas=(List)  request.getSession().getAttribute("sessaoListaMotoristasTodos");
  Integer totalRegistros= (Integer)  request.getSession().getAttribute("totalMotorista");
  int totalPaginas=totalRegistros/limite;
  if(totalRegistros%limite!=0){
  totalPaginas++;
  }
  else{
totalPaginas=0;
}

    String ordenacao=request.getParameter("ordenacao");
   if(ordenacao==null){
    ordenacao="mo_nome";
     }
    else{
   ordenacao="";
    }

  out.println("<table>");
  out.println("<form action='ListaMotoristasPaginada' method='get'>");
  out.println("<tr><td colspan='6'>Localizar <input type='text' name='pesquisa'/>");
 out.println("<input type='hiden' name='acao' value='listaMotorista'/></td></tr>");
 out.println("</form>");
 out.println("</table>");
     for(Iterator iterator=listaMotoristas.iterator();iterator.hasNext();){
     Motoristas mot=(Motoristas) iterator.next();

          %>          
              <table border="1">
      <tr>
          <th>Nome</th> 
           <th>Data</th>
           <th>CPF</th>
           <th>Modelo</th>
           <th>Status</th>
           <th>Sexo</th>
           <th>Ação</th>
          <th>Ação</th>
      </tr>
     
      
      <input type="checkbox"  href=""
         <tr>
              <td><%=mot.getMo_nome()%></td>
          <td><%=mot.getMo_data()%></td>
          <td><%=mot.getMo_cpf()%></td>
           <td><%=mot.getMo_modelo()%></td>
            <td><%=mot.getMo_status()%></td>
            <td><%=mot.getMo_sexo()%></td>
          
                <td><a href="exclusãoMotorista.jsp?nome=<%=mot.getMo_nome()%>">Excluir</a></td>
             <td><a href="alterarMotorista.jsp?nome=<%=mot.getMo_nome()%>&cpf=
            <%=mot.getMo_cpf()%>&data=<%=mot.getMo_data()%>&status=<%=mot.getMo_status()%>&sexo=<%=mot.getMo_sexo()%>&modelo=<%=mot.getMo_modelo()%>">Alterar</a></td>
      </tr>
      
      <%
          }
      out.println("<tr><td colspan='6'>");
    int pagAnterior;
   if(Integer.parseInt(numPagina)>1){
    pagAnterior=Integer.parseInt(numPagina)-1;
    out.println("<a href=listaMotoristas2.jsp?
   numeroPagina="+pagAnterior+"&ordenacao"+ordenacao+">Anterior</a>");

   }
   else{
    }

  for(int i=1;i<=totalPaginas;i++){
       if(i==Integer.parseInt(numPagina)){
         out.println("<b>"+i+"</b>");
      }
     out.println("<a href=listaMotoristas2.jsp?numPagina="+i+">"+i+"</a>");
      }


   int proximaPag;
   if((totalRegistros-(Integer.parseInt(numPagina)*limite))>0){
  proximaPag=Integer.parseInt(numPagina)+1;
  out.println("<a href=listaMotoristas2.jsp?
 numPagina="+proximaPag+"&ordenacao"+ordenacao+">Proxima</a>");

 }

  out.println("</td></tr>");
          %>
  </table> 
  
  
  <footer>
        
        Felipe Patrocinio felipe.massa10@hotmail.com
    </footer>
    
</body>
</html>

ClasseDAO e Servlet

public Integer totalRegistros(String pesquisa){

        try {
    con = Conecta.conexao();
   String sql="Select count(*) as contaRegistros from tb_motorista where mo_nome like '%"+pesquisa+"%'";
    Statement statement = con.createStatement();     

   ResultSet rs = statement.executeQuery(sql); 

    rs.next();
    JOptionPane.showMessageDialog(null,rs.getString("contaRegistros"));
    System.out.println(rs.getString("contaRegistros"));
    Integer 
  totalRegistros=Integer.parseInt(rs.getString("contaRegistros"));
    return totalRegistros;

} catch (Exception e) {
    JOptionPane.showConfirmDialog(null,e);

}
        return 0;
}



public List<Motoristas> mostrarMotoristas(){

try { 
con = Conecta.conexao();

   String sql="Select * from tb_motorista ";
    Statement statement = con.createStatement();     

ResultSet rs = statement.executeQuery(sql); 
  List lista = new ArrayList(); 


    while(rs.next()){
         Motoristas mo= new Motoristas();
        mo.setMo_nome((rs.getString("mo_nome")));
        mo.setMo_data(rs.getString("mo_data"));
        mo.setMo_cpf(rs.getString("mo_cpf"));
        mo.setMo_modelo(rs.getString("mo_modelo"));
        mo.setMo_status(rs.getString("mo_status"));
        mo.setMo_sexo(rs.getString("mo_sexo"));


       lista.add(mo);

    }

    return lista;
  } catch (Exception e) {
    JOptionPane.showConfirmDialog(null,e);
    return null;
 }

 }


   protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
 MotoristasDAO dao= new MotoristasDAO();
     MotoristasDAO dao2= new MotoristasDAO();

   String pesquisa=request.getParameter("pesquisa");
    try {
    if(pesquisa==null){
    pesquisa="";
   } 


   Integer totalMotorista=dao.totalRegistros(pesquisa);
   request.setAttribute("totalMotoristas", totalMotorista);


       List listaMotoristas2=dao2.mostrarMotoristas();


      request.setAttribute("sessaoListaMotoristasTodos", dao2); 


 RequestDispatcher rd= 
request.getRequestDispatcher("/listaMotoristas2.jsp");
rd.forward(request, response);

} catch (Exception e) {
     JOptionPane.showMessageDialog(null, "Erro na servelet"+e);
}

 }