gestión de sesiones java

Estoy trabajando en una pequeña aplicación web por diversión, usando solo los Servlets de Java en este momento. Tengo dos páginas, test1 y test2. En este momento estoy creando una nueva sesión en test1 como esta:

    HttpSession session = request.getSession(true);
    if (session.isNew() == false) {
        session.invalidate();
        session = request.getSession (true);
    }

En test2 estoy recuperando la sesión así:

    HttpSession session = request.getSession(false);
    if (session == null) {
        throw new ServletException ("No session.");
    }

Entonces, el problema es que si primero voy a test2, siempre obtengo una sesión válida porque el navegador la crea. Quiero restringir el flujo de prueba1 a prueba2 para que tenga que ir primero a prueba1. Mi plan es crear una página de inicio de sesión que cree la sesión, pero el problema que veo aquí todavía estaría presente.

¿Cómo debería manejar esto? Me gustaría cualquier idea para no incluir bibliotecas de terceros. Estoy haciendo esto como un ejercicio de aprendizaje.

¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta