Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Problema con las sesiones

Estas en el tema de Problema con las sesiones en el foro de Java en Foros del Web. Hola y gracias de antemano. Tengo un problema. Cuando ejecuto mi proyecto me salta el siguiente error. Código: mar 09, 2013 6:05:36 PM org.apache.catalina.session.StandardSession writeObject ...
  #1 (permalink)  
Antiguo 09/03/2013, 11:33
 
Fecha de Ingreso: marzo-2013
Mensajes: 22
Antigüedad: 11 años, 1 mes
Puntos: 0
Problema con las sesiones

Hola y gracias de antemano.

Tengo un problema. Cuando ejecuto mi proyecto me salta el siguiente error.

Código:
mar 09, 2013 6:05:36 PM org.apache.catalina.session.StandardSession writeObject
WARNING: No puedo serializar atributo de sesión servic para sesión 1CC1145E779EE2D23C8673FB7FFA35D8
java.io.NotSerializableException: objects.sevi
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
	at java.util.ArrayList.writeObject(ArrayList.java:710)
	at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
	at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1671)
	at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:1077)
	at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:432)
	at org.apache.catalina.session.StandardManager.unload(StandardManager.java:353)
	at org.apache.catalina.session.StandardManager.stopInternal(StandardManager.java:518)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5462)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
	at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3901)
	at org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:949)
	at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:360)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
Así con todas las sesiones que creo. No utilizo la serialización, solamente el session.setAttribute(); utilizo en netbeans 7.2.1
He probrado a desistalar el neatbeans, crear un proyecto nuevo y copiar el código de nuevo, lo he probado en otros ordenadores, lo he ejecutado en un tomcat configurado y nada no me guardan las sesiones. He buscado información pero no he encontrado nada, no se cual puede ser el causante.
Espero su ayuda.
  #2 (permalink)  
Antiguo 09/03/2013, 11:38
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 5 meses
Puntos: 36
Respuesta: Problema con las sesiones

Si pudieras poner el código, se podría ver el error en que estas topando

Saludos :)
  #3 (permalink)  
Antiguo 09/03/2013, 11:40
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Problema con las sesiones

Hola:

La API no pone nada al respecto, pero quizás el dato que pases a setAttribute() necesite ser Serializable.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 09/03/2013, 11:45
 
Fecha de Ingreso: marzo-2013
Mensajes: 22
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Problema con las sesiones

booking es una clase que guarda que guarda las variables, con sus set
Código:
 
ArrayList booking1=new ArrayList();
booking1.add(new booking(des,ori,adu,chil,bab,_calrt,_timeR,co_route,fly_codRe,_cost,coinor2,totalCost));
                                HttpSession session = request.getSession(true);
                                    session.setAttribute("booking1",booking1);
  #5 (permalink)  
Antiguo 09/03/2013, 11:47
 
Fecha de Ingreso: marzo-2013
Mensajes: 22
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Problema con las sesiones

Es muy raro porque en otro proyecto de las mismas caracteristicas me funciona y es la primera vez que tengo este problema
  #6 (permalink)  
Antiguo 09/03/2013, 12:17
 
Fecha de Ingreso: marzo-2013
Mensajes: 22
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Problema con las sesiones

Este es el codigo
Código:
public class booking   {
                 private String origin;
                 private String destiny;
                 private int adult;
                 private int child;
                 private int baby;
                 private Date date_departure;
                 private Time time;
                 private String cod_route;
                 private double cost;
                 private String coin;
                 private double total;
                 private String cod_fly;

                 public booking(String or,String de,int ad,int ch,int ba,Date dd,Time _time,String ro,String codFly,double _cost,String _coin, double _total){
                     origin=or;
                     destiny=de;
                     adult=ad;
                     child=ch;
                     baby=ba;
                     date_departure=dd;
                     time=_time;
                     cod_route=ro;
                     cod_fly=codFly;
                     cost=_cost;
                     total=_total;
                     coin=_coin;
                     }

        public String getOrigin() {
            return origin;
        }

        public String getDestiny() {
            return destiny;
        }

        public int getAdult() {
            return adult;
        }

        public int getChild() {
            return child;
        }   
        public int getBaby() {
            return baby;
        }
        public Date getDate_departure() {
            return date_departure;
        }
        public String getCod_route() {
            return cod_route;
        }
        public double getCost() {
            return cost;
        }
        public Time getTime() {
            return time;
        }
        public double getTotal() {
            return total;
        }
        public String getCoin() {
            return coin;
        }
        public String getCodFly(){
            return cod_fly;
        }
        public void setTotal(double to){
            total=to;
        }

       
        @Override
        public String toString() {
            return "dataroute{" + "origin=" + origin + ", destiny=" + destiny + ", adult=" + adult + ", child=" + child + ", date_departure=" + date_departure +'}';
        }
                
               
           }
 ArrayList booking1=new ArrayList();
booking1.add(new booking(ori,des,adu,chil,bab,_caldp,_time,co_route,fly_cod,_cost,coinor,totalCost));
HttpSession session = request.getSession(true);
                                    session.setAttribute("booking1",booking1);
he probado a meterle el implement serializable pero me da el mismo error
  #7 (permalink)  
Antiguo 10/03/2013, 00:43
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Problema con las sesiones

En la excepción habla de objects.sevi ¿Eso qué es? ¿Una clase tuya? Se supone que esa es la clase que debería ser Serializable.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Última edición por chuidiang; 12/03/2013 a las 22:08
  #8 (permalink)  
Antiguo 10/03/2013, 09:48
 
Fecha de Ingreso: marzo-2013
Mensajes: 22
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Problema con las sesiones

sevi es otra clase igual que la que he puesto, ya que me da salta el error por cada una de las sesiones que tengo puestas, puse una de ejemplo.
  #9 (permalink)  
Antiguo 11/03/2013, 02:10
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Problema con las sesiones

Tanto la clase que quieras hacer serializable, como sus atributos (Otras Clases que contenga) deben implementar Serializable.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #10 (permalink)  
Antiguo 12/03/2013, 17:42
 
Fecha de Ingreso: marzo-2013
Mensajes: 22
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Problema con las sesiones

Muchas gracias, lo he conseguido arreglar, no sabia que para las sesiones tambien hay que poner el serializable.

Etiquetas: sesiones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:46.