Preservando la sesión en Java con sendredirect

Estoy creando una aplicación de inicio de sesión en JAVA. Estoy haciendo la presentación en JSP y toda la lógica (conectividad de la base de datos) en Servlet [este no es un enfoque correcto, lo sé]. Reviso la contraseña del nombre de usuario en Servlet y luego creo una variable de sesión. y agrega la sesión como esta

sess.setAttribute("username",oName);

Luego redirecciono al usuario a su página de inicio, dice student.jsp

response.sendRedirect("student.jsp");

Elimina la variable de sesión. Necesito una forma de preservar la variable de sesión y moverme a student.jsp. Intenté usar forwading pero eso no funcionó.

RequestDispatcher dispatcher =
                getServletContext()
                    .getRequestDispatcher("/student.jsp");

            if (dispatcher != null) {
                dispatcher.forward(request, response);
            }

Reenvía la solicitud, pero la dirección de la página no cambia a student.jsp, lo que no es bueno. Cualquier ayuda en este sentido será apreciada Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta