Ajuda para exibir dados do bd no jsp

galera gostaria da ajuda de vc para resolver meu problema tenho a classe usuario…

Classe Usuario:


package Model;


public class Usuario {
    private String nome;
    private String email;
    
    public Usuario() {
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
    
}

Classe DAO:


package Persistencia;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;


public class Dao {
  protected static Connection con;  
  protected static PreparedStatement stmt;
  protected static ResultSet rs;
  
    public Dao() {
    }
    
    public void conecta(){
        
    try{
    Class.forName("com.mysql.jdbc.Driver");
    
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
    
    }catch(Exception e){
        System.out.print(e.getMessage());
        
    }   
    
}
}

Classe UserIn:
classe responsavel pela entrada de dados do usuario que amarzena no Bd

package Persistencia;

import Model.Usuario;
import java.io.PrintWriter;


public class UserIn extends Dao{
    
   
    public UserIn() {
    }
    
    public void insere(Usuario user,PrintWriter out){
        try{
            
            stmt = con.prepareStatement("insert into test (nome,email)values(?,?)");
            stmt.setString(1,user.getNome());
            stmt.setString(2,user.getEmail());
            stmt.execute();
            
            out.print("Dados Gravados");
            
            
            
        }catch(Exception e){
            
            out.print("Erro ao Gravar  " + e.getMessage());
            
        }
    }
    
}

Classe que mostra pro usuario o que esta no bd

package Persistencia;

import java.io.PrintWriter;


public class UserOut extends Dao {
    
    
    public UserOut() {
    }
    
    public void exibir(PrintWriter out){
        int cont = 0;
        try{
           stmt = con.prepareStatement("select * from test");
           rs = stmt.executeQuery();
           
           while(rs.next()){
               cont = 1;
               out.print(rs.getString("nome"));
               out.print("<br>");
               out.print(rs.getString("email"));
           }
           out.print("Dados exibidos");
            
        }catch(Exception e){
            
        }
    }
    
}

Servlets ControllerIn

package Controller;

import Model.Usuario;
import Persistencia.Dao;
import Persistencia.UserIn;
import Persistencia.UserOut;
import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;


public class UserController extends HttpServlet {
    
    
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        
        Usuario user = new Usuario();
        UserIn  userin = new UserIn();
        UserOut  userout = new UserOut();
        Dao dao = new Dao();
        
        user.setNome(request.getParameter("nome"));
        user.setEmail(request.getParameter("email"));
        
       
        
        
        dao.conecta();
        userin.insere(user,out);
        
       request.setAttribute("msg","Dados Gravados com exito");
       request.getRequestDispatcher("gravado.jsp").forward(request,response);
       
                  
        
        out.close();
    }
    
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}

Servlets ControllerOut

package Controller;

import Model.Usuario;
import Persistencia.Dao;
import Persistencia.UserOut;
import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;


public class ControllerOut extends HttpServlet {
    
    
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        
        Usuario user = new Usuario();
        UserOut  userout= new UserOut();
        Dao dao = new Dao();
       
        dao.conecta();
                
        request.setAttribute("msq","");
        userout.exibir(out);
        request.getRequestDispatcher("exibindo.jsp").forward(request,response);
       
        
        
        
        
        
        
        
        
        
        
        out.close();
    }
    
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}

O que nao estou conseguindo fazer é trazer o que esta no servlets e mandar pro jsp no caso exibir o que tem dentro do bd , nao da erro apenas mostra a tela em branco, se faço pra executar e exibir pelo servelts ele exibir o que sta no bd numa boa , no que estou errando… podria me ajduar e a exibir os dados nuam pagina jsp…

Obrigado galera abraço!!!