style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Como es el comportamiento de las sesiones

Buenas tardes a todos, tengo una aplicación web de la cual no entiendo por que el comportamiento de las sesiones. Instalé Java: 1.7.0_79 y uso NetBeans IDE 8.1

Se dice que usan archivos jsp y archivos servlet entonces me queda la duda: una vez que entramos y cerramos la session, ¿por qué si yo acceso directamente a la url de cierta pagina me deja continuar? o bien es el caso, si me regresa (back de la flechas del explorador) hace lo mismo. Me hace falta algo definir.

Explico, primero defino un archivo index.jsp que será el login para accesar, después puedo usar un servlet que funcione como el validate los datos y si es todo correcto me mande a una pagina que le llame menu.jsp y por decirlo creé otra que dice logoutservlet para cerrar la sesión:

estos es el código:
index.jsp

 <form action="validate.do" method="post">
            <input type="email" name="txtmail" placeholder="E-Mail"/><br>
            <input type="password" name="txtPass" placeholder="contrasena"/><br><br>
            <input type="submit" value="Iniciar"/>
        </form>
               
 @WebServlet(name = "ValidateServlet", urlPatterns = {"/validate.do"})
 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        DAO dao = new DAO();
        String mail, pass;
        mail = request.getParameter("txtmail");
        pass = request.getParameter("txtPass");
       
        User u = new User(mail, pass, "Admin");
        HttpSession session = request.getSession();
        if(dao.existe(u))  {
            session.setAttribute("user",u.getMail());                
            request.getRequestDispatcher("menu.jsp").forward(request, response);        
        } else {
            session.setAttribute("errores","Incorrecto Password o e mial");
            request.getRequestDispatcher("error.view").forward(request, response);
        }
               
 
 urlPatterns = {"/logout.do"})
 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        HttpSession session = request.getSession();
        session.removeAttribute("user");
        session.invalidate();
        request.getRequestDispatcher("index.jsp").forward(request, response);    
    }      
       

Hasta aquí todo claro el como inicia la session y se cierra. ¿Me hace falta algo o como esta esto de las sesiones? Me puedes orientar les agradezco mucho, gracias

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Necesitas crear un filtro y

Necesitas crear un filtro y hacer la validación de la sesión ahí.

http://docs.oracle.com/javaee/6/api/javax/servlet/annotation/WebFilter.html

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">