Java Servlet JAVA EE
Starting from Servlet 3 and later we can set the session tracking mode explicitly by using ServletContext#setSessionTrackingModes(..)
import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.SessionTrackingMode;import javax.servlet.annotation.WebListener;import java.util.EnumSet;@WebListenerpublic class SessionTrackingModeSetter implements ServletContextListener { @Override public void contextInitialized (ServletContextEvent event) { System.out.println("--------\ncontext initialized\n------\n " + this); System.out.println("The default session tracking modes: " + event.getServletContext() .getDefaultSessionTrackingModes()); event.getServletContext() .setSessionTrackingModes(EnumSet.of(SessionTrackingMode.URL)); } @Override public void contextDestroyed (ServletContextEvent sce) { }}