Buenas, 
 
Mi pregunta es sobre sessiones, tengo un filtro hecho para controlar si existe una variable de sesion y sino enviar a una pagina de error, el caso es que entro la primera vez a la pagina filtrada y me funciona, me envia a la de error, tras esto ejecuto un action y creo la session y voy a la pagina filtrada y todo correcto, hasta aqui normal, el problema es el siguiente. Desde esta pagina filtrada ejecuto un action y destruyo la session y entonces al volver a la misma pagina no me ejecuta el filtro y se me carga sin problema cuando no deberia ser asi.
 
EL FILTRO
=======
 public void doFilter (ServletRequest request,
              ServletResponse response,
              FilterChain chain)
  {
 
        HttpSession session;
	if (request instanceof HttpServletRequest){
		session = ((HttpServletRequest)request).getSession();
                try{
                    if (session.getAttribute("Usuario") != null){
                            chain.doFilter(request, response);
                    }else{
                            ((HttpServletResponse)response).sendRedirect(((Htt  pServletRequest)request).getContextPath() + "/Welcome.do");
                    }
                }catch (IOException io){
                      System.out.println("IOException raised");
                }
                catch (ServletException se){
                      System.out.println("ServletException raised");
                }
        }
  }
 
 
Struts-config
=========
<global-forwards>
        <forward name="welcome"  path="/Welcome.do"/>
    </global-forwards>
 
    <action-mappings>
        <action path="/Welcome" forward="/welcomeStruts.jsp"/>
        <action path="/abrir" type="com.jash.Login" scope="session">
            <forward name="index" path="/index.jsp"/>
        </action>
        <action path="/cerrar" type="com.jash.LoginOut">
            <forward name="index" path="/index.jsp"/>
        </action>
    </action-mappings>
 
action login
=======
  public ActionForward execute (ActionMapping mappings, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
      	 HttpSession session = request.getSession(true);
         session.setAttribute("Usuario","jacinto");
         return mappings.findForward("index");
	}//Fin 
 
action login out
===========
 public ActionForward execute (ActionMapping mappings, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
      	 HttpSession session = request.getSession(true);
         session.removeAttribute("Usuario");
         session.invalidate();
         return mappings.findForward("index");
	}//Fin 
 
web.xml
=====
 <filter>
        <filter-name>prueba</filter-name>
        <filter-class>com.jash.filters.FilterPrueba</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>prueba</filter-name>
        <url-pattern>/index.jsp</url-pattern>
    </filter-mapping>
 
Creo que eso es todo, si me podeis hechar una mano o enviar un ejemplo, manual en castellano, idea, cualquier cosa, para leer y tirar para adelante.
 
Otro problema o algo que no entiendo es que al crear el struts-config.xml, configuro unos action con unos forward, y cuando ejecuto el action en vez de irse a la pagina que le pongo en el forward, lo que hace es como un include... no se si es normal o no.
 
Gracias de antemano por tu ayuda, un saludo!
 
Jash. 
   
 
 .
.
