Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    76

    come funziona HttpSessionBindingListener?

    Ho implementato il BindingListener così:

    codice:
    public class LoginContainer implements HttpSessionBindingListener {
    	private LoginVO loginVO;
    
    	public LoginVO getLoginVO() {
    		return loginVO;
    	}
    
    	public void setLoginVO(LoginVO loginVO) {
    		this.loginVO = loginVO;
    	}
    
    	public void valueBound(HttpSessionBindingEvent arg0) {
    		arg0.getValue().toString();
    		// TODO Auto-generated method stub
    	}
    
    	public void valueUnbound(HttpSessionBindingEvent event) {
    		System.out.println(loginVO.getUser()+ " Login cancellata");
    		loginVO=null;
    	}
    }
    e nella Action ho:

    codice:
    public class ActionLogin extends Action 
    {
        public ActionForward execute(ActionMapping mapp, ActionForm form, 
                                  HttpServletRequest req, HttpServletResponse res) throws Exception 
    	{
        	        DynaActionForm login=(DynaActionForm)form;
        	        LoginVO loginVO= new LoginVO();
    		loginVO.setUser(login.getString("user"));
    		loginVO.setPassword(login.getString("password"));
    		
    		HttpSession session = req.getSession();
    
    		LoginContainer loginContainer = new LoginContainer();
    			
    		loginContainer.setLoginVO(loginVO);
    		
                    session.setAttribute("loginContainer", loginContainer);
    		return mapp.findForward("continua");
    	}
    }
    Il Listener non dovrebbe funzionare in modo tale che se l'utente chiude il browser viene annullato il riferimento all'utente (tramite loginVO=null; del metodo valueUnbound)?

    Qualche consiglio???
    Grazie!!!

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    il metodo viene chiamato dopo il timeout sulla sessione

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    76
    Ma allora a che serve????
    Io pensavao che servisse per liberare i riferimenti in memoria quando un utente chiude il browser!!!
    Quindi per gestire il rilascio della memoria posso solo sperare che l'utente faccia il logout???

    Cmq.. grazie!!!

  4. #4
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    puoi mettere un timeout alle sessioni. e' una impostazione "di base" che specifichi nel web.xml.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.