Rafal
M.
Software Engineer,
Monachium
Temat: Bardzo dziwny problem z formularzem ...
Witajcie,Zrobilem bardzo prosta aplikacje web. Mianowicie na glownej stronie (list.jsp) jest lista rekordow. Moge stworzyc, edytowac i skasowac rekordy.
Kiedy klikne DODAJ lub EDYTUJ to wtedy pojawia sie strona (article.jsp) z formularzem, ktory zawiera dwa pola i ...
kiedy uzytkownik nacisnie ZAPISZ to:
1. Wywoluje article.jsp
2. Sprawdza czy dane z formluarza sa poprawne
3. wykonuje w bazie danych INSERT lub UPDATE
4. przekierowuje do list.jsp
Normalnie wszystko dziala super ale ... czasami kiedy uzytkownik kiedy nacisnie SAVE to wtedy laduje znowu w article.jsp i nie zapisuje danych. Tutaj zdarzaja sie 2 przypadki:
1. Czasami kiedy uzytkownik nacisnie ZAPISZ to widzi formularz z danymi, ktore przed chwila wpisal ale moze tak naciskac ZAPISZ ze 100 razy i caly czas widzi ten sam fomularz. Niestety dane nie sa zapisane w bazie i nie przekierowuje do list.jsp.
2. LUB ... gdy nacisnie ZAPISZ i widzi pusty fomrularz. Uzytkownik moze go wypelniac i na nowo zapisywac tez ze 100 razy ale i bez efektu tj. caly czas widzi pusty formularz i dane nie zostaja zapisane w bazie. No i oczywiscie nie przekierowuje do list.jsp.
Dane w obydwu przypadka poprawne tj. nie jest to blad walidacji.
Gdy uzytownik zamknie przegladarke i na nowo otworzy to wtedy moze zapisac. Na tej aplikacji pracuje okolo 60-70 ludzi. Wiekszosc z nich uzywa Internet Exploera 6.
Ten problem pojawia sie tylko czasami.
Osobiscie nie bylem wstanie zreprodukowac tego bledu, mi sie to nigdy nie przytrafilo (uzywam IE 7 wiec moze problem jest z IE6 ... ?).
Zroblem aplikacje w JSF+Spring+Hibernate. Niestety nie znalalzlem rozwiazania, nawet powodu ...
Wiec postanowilem zrobic aplikacje na nowo ale w jak najprostszej formie tj. czysty JSP, laczenie z baza przez JDBC itp.
Niestety blad nadal sie pojawia.
Zrobilem w swoim zyciu tysiace tego typu aplikacji ale ... nigdy nie przytrafil mi sie tak dziwny problem.
Wyglada na to, ze w jakis sposob dane z POST zostaly calkowicie lub czesciowo usuniete.
W logach nie ma zadnych wyjatkow ani bledow.
Ma ktos moze pomysl jak ugryzsc ten problem ?
Uzywam:
Tomcat 5.5
Apache 2.0.59, Apache 2.0 Filter
MySql 5.0.18
Pozdrawiam,
Rafal