Witam, piszę aplikację webową, używałem wcześniej jsf + managebeans i tam wszystko było ok. Teraz, chciałbym aby na jednej ze stron jsp były wyświetlane przyciski, po wciśnięciu - lista zawierające np: nazwę zostaje uzupełniona o wciśnięty element - to działa super. Problem polega na tym, że jeżeli zaloguje się inny użytkownik (nie używam jeszcze spring security) to tworzymy "własną" listę - tzn. dodajemy do jednej listy. Tworzę dla metody GET nową sesje, dla metody POST. Próbowałem wielu rzeczy, zawsze jednak z tym samym skutkiem. Jedyne co jestem w stanie zaobserwować, przy pierwszym uruchomieniu strony mam adres url z parametrami, po dodaniu jakiegoś parametru do listy jest już sam /Tickets.jsp - i od tego czasu dodajemy do wspólnej listy, sesje mimo iż początkowo były utworzone o różnych id się "scalają" i mają ten sam.

Poniżej jest mój kod strony Tickets.jsp (sekcja body).

 Jesteś zalogowany jako: ${WebUser.name} !<br>
        Wybierz sobie bilet: <br> 
        <!-- Może form z action na ten url i z method POST ? Aby przeładowywać 
        stronę i zapamiętywać kliknięty bilet. --> 
        
        ID sesji: <c:out value="${pageContext.session.id}"/>

        <div id="Tickets">
            <c:forEach items="#{TicketList}" var="Ticket" >
                <form:form method="POST" action="Tickets.htm">
                    <input type="Submit" value="${Ticket.name}" name="Button" />
                    <input type="hidden" value="${Ticket.name}" name="Hidden" />
                    <input type="hidden" value="${WebUser.name}" name="userName" alt="Nothing"/>
                    <input type="hidden" value="${WebUser.password}" name="userPassword" alt="Nothing" />
                    <br> 
                </form:form>
            </c:forEach>
        </div>
        
        
        <div id="ReservationList" >
            Lista: <br>
            <c:forEach items="#{ReservedTicketList}" var="Ticket" >
                <input type="button" value="${Ticket}" />
                <br> 
            </c:forEach>
        </div>
        
        <div id="Menu">
            <input type="Submit" value="Zarezerwuj" onclick="message" />
        </div>

A oto mój kontroler:

  @RequestMapping(value = "/Tickets", method = RequestMethod.GET)
    public ModelAndView showGet(@RequestParam("userName") String userName,
            @RequestParam("userPassword") String userPassword, HttpServletRequest request,
            HttpSession Httpsession) {

        ModelAndView model = new ModelAndView("Tickets");

        setReservedTicketList(null);

        setWebUser(new WebUser(userName, userPassword));

        String retValue = "";

        Configuration con = new Configuration();
        con.configure();
        ServiceRegistryBuilder ssrb = new ServiceRegistryBuilder().applySettings(con.getProperties());

        SessionFactory sessionFactory = con.buildSessionFactory(ssrb.buildServiceRegistry());
        Session session = sessionFactory.openSession();

        Transaction transaction = null;

        try {
            transaction = session.beginTransaction();

            String hql = "FROM WebLogin W WHERE W.emailaddress =:userName AND W.userpassword =:userPass";
            Query query = session.createQuery(hql);
            query.setParameter("userName", webUser.getName());
            query.setParameter("userPass", webUser.getPassword());

            List results = query.list();

            WebLogin user = (WebLogin) results.get(0);

            if (!user.getEmailaddress().trim().equals(userName)) {
                model.addObject("message", "Nie ma takiego konta!");
                return model;
            }

            retValue = user.getEmailaddress();

        } catch (Exception ex) {
            retValue = "Nie no tak to nie bedzie!  " + ex.getMessage();
            ex.printStackTrace();
        } finally {
            session.close();
        }

        setTicketsFromDB();

        model.addObject("WebUser", webUser);
        model.addObject("TicketList", TicketList);
        model.addObject("message", retValue);

        //testCamera();
        
        return model;
    }

@RequestMapping(value = "/Tickets", method = RequestMethod.POST)
    public ModelAndView showPost(@RequestParam("Hidden") String name,
            @RequestParam("userName") String userName,
            @RequestParam("userPassword") String userPassword, HttpServletRequest request,
            HttpSession httpsession) {

        System.out.println("POST NAME: " + userName);
        System.out.println("POST PASS: " + userPassword);

        if (getReservedTicketList() == null) {
            setReservedTicketList(new ArrayList<String>());
        }

        ModelAndView model = new ModelAndView("Tickets");

        getReservedTicketList().add(name);
        model.addObject("ReservedTicketList", getReservedTicketList());
        model.addObject("TicketList", getTicketList());
        model.addObject("WebUser", getWebUser());

        httpsession.invalidate();
        HttpSession session = request.getSession();
        
        return model;

    } 

Proszę o pomoc, nie mam już kompletnie pomysłów dlaczego tak się dzieje.