Impossible de sérialiser l'attribut de session
Bonjour
J'ai mon bean utilisateurBean qui implémente la Class Serializable, mais lorsque je lance l'application, tout marche bien mais j'ai le message d'erreur suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
sept. 27, 2015 8:05:00 PM org.apache.catalina.session.StandardSession writeObject
AVERTISSEMENT: Impossible de sérialiser l'attribut de session utilisateurBean pour la session F155442CE7F6BF8458A004C999311376
java.io.NotSerializableException: com.telnet.entretien.dao.impl.LoginImpl
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
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:5569)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3919)
at org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:954)
at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:364)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
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:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745) |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
public class LoginImpl implements ILogin, java.io.Serializable {
@Override
public Login charger(Login l) {
Login lg = null;
Session session = HibernateUtil.getSessionFactory().openSession();
try {
Query query = session.createQuery("From Login l where l.usernamse = '" + l.getUsernamse() + "' and l.motpasse='" + l.getMotpasse() + "'");
if (!query.list().isEmpty()) {
lg = (Login) query.uniqueResult();
}
} catch (HibernateException e) {
lg = null;
}
return lg;
}
@Override
public Login getLogin(int idC) {
Login login = null;
Session session = HibernateUtil.getSessionFactory().openSession();
try {
login = (Login) session.get(Login.class, idC);
} catch (HibernateException e) {
login = null;
}
session.close();
return login;
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
@ManagedBean
@SessionScoped
public class UtilisateurBean implements java.io.Serializable{
private Login login;
private String role;
private Login util = new Login();
private LoginImpl dao;
Login l;
@PostConstruct
public void init() {
dao = new LoginImpl();
}
public Login getEventBC(int id) {
ILogin dao1 = new LoginImpl();
login = dao1.getLogin(id);
return login;
}
public String doLogin() {
String rslt = null;
l = dao.charger(this.util);
if (l != null) {
if (l instanceof Administrateur) {
role = "administrateur";
rslt = "administrateur/rapport?faces-redirect=true";
} else if (l instanceof Responsable) {
role = "responsable";
rslt = "/view/responsable/rapport?faces-redirect=true";
}
} else {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Verifier votre login ou mot passe", "Verifier votre login ou mot passe"));
}
return rslt;
}
public String doLayout() {
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().clear();
return "/view/index?faces-redirect=true";
} |
D'où peut venir l'erreur?
Merci