How to send data from several tables using sessions in JSP

0

I have a problem when I send data from a query to mysql with several tables, when sending them to the servlet, the servlet goes blank.

I'm using model - view - controller

In the project view I have a form where I sent the request the page is called movementsCarga.jsp

Request submission form

<form method="POST" action="movimientosCargaVerGuiasVuelosServlet.do">

    <table class="bg-primary">
            <tr>
                <th>Código</th>
                <th>Iata</th>
                <th>Número</th>
                <th>Fecha</th>
                <th>Estado</th>
                <th>Transito</th>
                <th>Ruta</th>
                <th>Acción</th>
            </tr>

            <%
     try {

        for(int i=0; i<vuelomovi.size(); i++)
           {   
               out.println("<tr>");
               out.println("<td><input type='text' size=1 name='txt_id_vuelo' class='form-control' value='"+vuelomovi.get(i).getIdVuelo()+"'></td>");
               out.println("<td><input type='text' size=10 class='form-control'value='"+vuelomovi.get(i).getIataVuelo()+"'></td>");
               out.println("<td><input type='text' size=10 class='form-control'value='"+vuelomovi.get(i).getNumeroVuelo()+"'></td>");
               out.println("<td><input type='text' class='form-control'value='"+vuelomovi.get(i).getFechaVuelo()+"'></td>");
               out.println("<td><input type='text' class='form-control'value='"+vuelomovi.get(i).getEstadoVuelo()+"'></td>");
               out.println("<td><input type='text' size=10 class='form-control'value='"+vuelomovi.get(i).getTipoTransitoVuelo()+"'></td>");
               //out.println("<td><input type='text' class='form-control'value='"+vuelomovi.get(i).getFechaCreacionVuelo()+"'></td>");
               out.println("<td><input type='text' class='form-control'value='"+vuelomovi.get(i).getRutaVuelo()+"'></td>");
               out.println("<td><button type='submit' formtarget='frame_vuelo' class='btn btn-success'>Ver Guias</button></td>");

           }
     }
     catch(java.lang.NullPointerException ex)

            {

                out.println("<tr>");
            }


        %> 
        </table>   

    </form>

In this class I have the query sql:

package Dao
clase GuiasDao

    public class GuiasDao {
    ResultSet res;
    Statement st;
     public ResultSet buscarGuiasVuelosMovimientosCarga(Vuelo v)
    {
        try {
            Connection conn=ConexionMysqlCargomove_db.getInstance().getConnection();
            st=(Statement)conn.createStatement();
            String SQL="";

            SQL="select a.awb,r.ori_doc_rvas,r.des_doc__rvas,r.ori_vlo_rvas,t.piezas_tvas,t.kilos_tvas,t.volumen_tvas\n" +
                "from awb a,rvas r,tvas t, vlos v\n" +
                "where a.cod_seq_awb=r.awb_cod_seq_awb\n" +
                "and r.cod_seq_rvas=t.rvas_cod_seq_rvas\n" +
                "and v.seq_vlos=t.vlos_seq_vlos\n" +
                "and t.vlos_seq_vlos='"+v.getIdVuelo()+"';";

            res=st.executeQuery(SQL);

        } catch (SQLException ex) {
            java.util.logging.Logger.getLogger(GuiasDao.class.getName()).log(Level.SEVERE, null, ex.getStackTrace());
        }
        return res;
    }

package controlador
clase MovimientosCargaVerGuiasVuelosServlet url patterns movimientosCargaVerGuiasVuelosServlet.do

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");

        Folio fo = new Folio();
        Vuelo vlo=new Vuelo();
        Reserva r=new Reserva();
        TramoReserva t=new TramoReserva();
        GuiasDao gdao= new GuiasDao();
        FoliosDao fDao = new FoliosDao();


        Connection conn = ConexionMysqlCargomove_db.getInstance().getConnection();
        vlo.setIdVuelo(Integer.parseInt(request.getParameter("txt_id_vuelo")));
        ResultSet res=(ResultSet)gdao.buscarGuiasVuelosMovimientosCarga2(vlo);

        ArrayList<Reserva> reservamov = new ArrayList<Reserva>();
        ArrayList<TramoReserva> tramoReservamov = new ArrayList<TramoReserva>();
        ArrayList<Folio> foliomov = new ArrayList<Folio>();
        ArrayList<Vuelo> vuelo = new ArrayList<Vuelo>();

        if(res==null)
        {
            String error="No se encontraron datos";
            request.getSession().setAttribute("error", error);
            request.getRequestDispatcher("errorVerGuias.jsp").forward(request, response);
        }

        else
        {
            try
            {
                while(res.next())
                {

                    fo.setNumeroFolioCompleto(res.getString("AWB"));
                    r.setOrigenReserva(res.getString("ORI_DOC_RVAS"));
                    r.setDestinoReserva(res.getString("DES_DOC__RVAS"));
                    r.setOrigenVueloReserva(res.getString("ORI_VLO_RVAS"));
                    t.setTotalPiezasReserva(res.getInt("TOTAL_PZS_RVAS"));
                    t.setTotalKilosReserva(res.getDouble("TOTAL_KLS_RVAS"));
                    t.setTotalVolumenReserva(res.getDouble("TOTAL_VOL_RVAS"));
                    vlo.setIdVuelo(res.getInt("VLOS_SEQ_VLOS"));
                    foliomov.add(fo);
                    reservamov.add(r);
                    tramoReservamov.add(t);
                    vuelo.add(vlo);
                }
                request.getSession().setAttribute("foliomov", foliomov);
                request.getSession().setAttribute("reservamov", reservamov);
                request.getSession().setAttribute("tramoReservamov", tramoReservamov);
                request.getSession().setAttribute("vuelo", vuelo);
                request.getRequestDispatcher("movimientosCarga.jsp").forward(request, response);
            }
            catch(SQLException ex)
            {
                java.util.logging.Logger.getLogger(MovimientosCargaVerGuiasVuelosServlet.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

As seen in the servlet by means of class collaboration, I take the attributes of Folio, Flight, Reservation and ReservationReserve classes and assign it the corresponding field of the sql query and then save the values in ArrayList to be sent by session.

Then I receive them on the same JSP page called movementsCarga.jsp

Here I receive the data that comes from the servlet

<% ArrayList<Reserva> reservamov = (ArrayList<Reserva>)request.getSession().getAttribute("reservamov");%> 
<% ArrayList<Folio> foliomov = (ArrayList<Folio>)request.getSession().getAttribute("foliomov");%>
<% ArrayList<TramoReserva> tramoReservamov = (ArrayList<TramoReserva>)request.getSession().getAttribute("tramoReservamov");%>
<% ArrayList<Vuelo> vuelo = (ArrayList<Vuelo>)request.getSession().getAttribute("vuelo");%>

Here is the form where the data should be displayed

               <form method="POST" action="movimientosCargaVerGuiasVuelosServlet.do">
               <table>
                   <tr>

                       <th>Awb</th>
                       <th>Origen</th>
                       <th>Destino</th>
                       <th>Origen</th>
                       <th>Piezas</th>
                       <th>Kilos</th>
                       <th>Volumen</th>
                       <th>Id Vuelo</th>
                   </tr>

                            <% 


                                    try
                                        {
                                            for(int i=0; i<foliomov.size(); i++)
                                                   {
                                                       out.println("<tr>");
                                                       out.println("<td>"+foliomov.get(i).getNumeroFolioCompleto()+"</td>");
                                                   }
                                            for(int i=0; i<reservamov.size(); i++)
                                                    {
                                                        out.println("<td>"+reservamov.get(i).getOrigenReserva()+"</td>");
                                                        out.println("<td>"+reservamov.get(i).getDestinoReserva()+"</td>");
                                                        out.println("<td>"+reservamov.get(i).getOrigenVueloReserva()+"</td>");
                                                    }

                                             for(int i=0; i<tramoReservamov.size(); i++)
                                                            {
                                                                out.println("<td>"+tramoReservamov.get(i).getTotalPiezasReserva()+"</td>");
                                                                out.println("<td>"+tramoReservamov.get(i).getTotalKilosReserva()+"</td>");
                                                                out.println("<td>"+tramoReservamov.get(i).getTotalVolumenReserva()+"</td>");
                                                            }
                                             for(int i=0; i<vuelo.size(); i++)
                                                            {
                                                                out.println("<td>"+vuelo.get(i).getIdVuelo()+"</td>");
                                                            }

                                        }
                                    catch(java.lang.NullPointerException ex)
                                        {
                                                out.println("</tr>");
                                                out.close();
                                        }



                            %>    

               </table>
           </form>  

When I try to consult the data the servlet remains blank

imagenservlet

Please, if you could help me, I would appreciate it.

greetings

    
asked by Simón Pereira Vigouroux 04.06.2018 в 23:36
source

0 answers