La mia prima pagina è identica alla tua.
Nella seconda invece di settare i campi dell'oggetto User con il jsp:setProperty li ho settati direttamente con i suoi metodi setter. L'istanza di User raggiungibile con l'id "tizio" rimarrà raggiungibile per tutta la sessione quindi nn c'è bisogno di memorizzare l'oggetto nella request.
codice:
<jsp:useBean id="tizio" scope="session" class="cinema.User" />
<%
tizio.setUsername(request.getParameter("nickname"));
tizio.setPassword(request.getParameter("password"));
tizio.setBudget(Integer.valueOf(request.getParameter("budget")));
%>
<jsp:forward page="pag3.jsp" />
Nella terza pagina con queste due righe recuperi l'oggetto tizio.
codice:
<jsp:useBean id="tizio" scope="session" class="cinema.User" />
<%
out.println((com.stywer.test.User) tizio);
%>
altrimenti puoi passarlo con una setAttribute sull'oggetto request.
pagina 2
codice:
<%
User usr = new User(request.getParameter("nickname"),
request.getParameter("password"),
Integer.valueOf(request.getParameter("budget"))
);
request.setAttribute("tizio", usr);
%>
<jsp:forward page="pag3.jsp" />
pagina 3
codice:
<%
out.println(request.getAttribute("tizio"));
%>