Non puoi mandare roba in output e poi fare un redirect tramite header (Che sia tag jsp o scriplet non importa, tanto sempre di servlet header si tratta)
login_expired.jsp
e l'altro pezzo di codice come primacodice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento senza titolo</title> <meta http-equiv="Refresh" content="5;URL=/login.jsp" /> </head> <body> La tua sessione è scaduta, rieffettuare login </body> </html>
Per quanto riguarda il dove si apre la pagina quello lo devi risolvere via javascript (per controllare se il frame corrente sia o meno il top frame)... per esempio, aggiungendo questo a login_expired.jsp (chiaramente nell'<head>)codice:<% String root = request.getContextPath(); if(session.getAttribute("utente")==null) { response.sendRedirect("/login_expiredjsp"); %>
codice:<script language="javascript"> if (window.self != window.parent) { window.frames['top'].document.location.href=window.location.href; } </script>

Rispondi quotando