Verhindern form Wiedervorlage und einfügen in die Datenbank auf Seite aktualisieren

Ich habe ein servlet nimmt die Daten aus dem Formular und fügt es in die Datenbank.In servlet-ich verwende Bohnen und get/set data via Bohnen.Sobald das einfügen geschieht ,wird der Benutzer umgeleitet, um die Ansicht, die zeigt, wie genau die Seite aussieht.Diese Seite ist JSP. Nun, wenn ich diese Seite aktualisieren(jsp),es wieder tut Formular Daten einfügen in die Datenbank.Jetzt brauche ich, um dies zu verhindern.Was ich dachte war, anstatt umleiten es zu jsp,lassen Sie mich eine Umleitung zu einem anderen servlet und von diesem servlet lass mich die get-Anforderung und leitet ihn an die jsp für die Ansicht.Mit diesem Ansatz habe ich die Umgestaltung meiner jsp und ich habe sehr viele jsp-betroffene.

Ist Ihre andere Weise kann ich verhindern das einfügen in die Datenbank bei der Aktualisierung der Seite erfolgt ?

Ich habe auch überprüft, die auf Datenbank-Seite unter der Annahme, dass ich hinzufügen kann, unique-Einschränkungen, die ich zu tun haben einige einzigartige Spalten, die generiert wird über erste servlet,also auf jedem einfügen-Werte sind unterschiedlich,ich kann also nicht wirklich die Lösung auf DB-Seite.

Kann jemand mir empfehlen, wenn es existiert, Arbeit Problemumgehungen für diese ?

Update:Hinzufügen von code, die nicht einfügen, bin ich die Seite aktualisieren manuell.Scheint so, das ist bug, was ich verpasst zu früher.Es macht das insert korrekt in der Datenbank und zeigt korrekt alle Daten in der Ansicht jsp.Wenn der view-jsp aktualisiert wird, bekomme ich doppelte Einfügungen in die Datenbank.

Update .entfernt den code.- Post-relevanten Teile des Codes, anstatt den ganzen code.

Problem behoben ist.

 javax.servlet.http.HttpSession session = request.getSession();            
        if (session.getAttribute("insertflag") == null) {
            mybean sf = new mybean();
            sf.insert(form);
            session.setAttribute("insertflag", insertid);
            RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/test/showtestform.jsp");                
            rd.forward(request, response);
        } else {                
            RequestDispatcher rd = request.getRequestDispatcher("/errorpage.jsp");
            rd.forward(request, response);
        }

Fehler In der jsp-Seite Entferne ich das Attribut gesetzt und dann den link in dieser Seite kommen Sie wieder zurück zur Startseite.

  • Wie machen Sie Ihre Seite aktualisieren?
  • bitte poste deinen code.
  • wie stellst du per GET oder POST ?
  • Ramesh seine post-Anfrage.Mit Multipart-request, ich denke nur post arbeitet.
InformationsquelleAutor Kiran Badi | 2013-01-07
Schreibe einen Kommentar