Using embedded tomcat, this code works:
Servlet:
String test = \"test\";
request.setAttribute(\"test\", test);
request.getRequestDispatc
You may want to compare the session id in the servlet and the jsp. If they are different maybe check your session and cookie configuration in tomcat
On the JSP side, you don't need to say request.getSession()
, just session.getAttribute();
And you had a problem in your Main.java when creating the servlet context (a trick of using embedded Tomcat); you were not getting the context created by adding the webapp to tomcat, you had some other context.
// File base = new File("src/main/webapp");
// context = tomcat.addContext("", base.getAbsolutePath());
// tomcat.addWebapp(null, "/", base.getAbsolutePath());
context = tomcat.addWebapp("/", new File("src/main/webapp").getAbsolutePath());
context.setSessionTimeout(10080);
I commented out your code and changed the context handling and now things work. And a new exception to be caught.
} catch (ServletException | InterruptedException | LifecycleException exception) {