Shatterator: JSP Wird doppelt aufgerufen

Hi!

Also zu Beginn rufe ich eine einfache JSP auf die einen Button hat. Bei klick auf den Button werden die Daten der Form überprüft und anschließend als ACTION eine html-Page aufgerufen welche per Mapping an ein Servlet verweist. Dieses Servlet nimmt nun die Daten der FORM entgegen, bearbeitet diese, speichert die Daten in einer Bean und erzeugt eine neue JSP die die Daten der Bean abbildet.
Das funktioniert alles super bis auf die Tatsache, dass das Servlet doppelt ausgeführt wird bzw. die Bean doppelt initialisiert wird. Aus diesem Grund ist, egal was ich vorher in die Bean geschrieben habe, diese dann immer "leer".
Weil ich in anderen Foren von doppelten SUBMITS der Form gelesen habe, hab ich das schon geprüft aber da ist alles ok.

Hier der Code dazu:

  
<form name="Playlist" action="./playlist.html" method="get">  
	<input type="button" id="MarkerButton" value="inMarker" onclick="setMarker()">  
	<table id="MarkerList" border="2" cellspacing="2" cellpadding="4">  
		<tr>  
			<td>In-Marker</td>  
			<td>Out-Marker</td>  
		</tr>  
	</table>  
<INPUT type="text" name="TimeCodes" value="">  
<INPUT TYPE="submit" VALUE="Sequenzen abspielen">  
</form>  

Im Servlet habe ich folgenden Code:

  
    protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException  
    {  
        PlaylistBean playlistBean = new PlaylistBean();  
        String timeCodes = (String) req.getParameter( "TimeCodes" );  
        playlistBean.setPlaylist("blablabla");  
        req.setAttribute( "playlist", playlistBean );  
        RequestDispatcher dispatcher = req.getRequestDispatcher( "/playlistPage.jsp" );  
        dispatcher.forward( req, resp );  
    }  

und die Bean schaut so aus:

  
public class PlaylistBean  
{  
    private String playlist;  
  
    public PlaylistBean(){  
        System.out.println("1");  
        playlist="testestest";  
    }  
  
    /**  
     * @return the playlist  
     */  
    public String getPlaylist()  
    {  
        return playlist;  
    }  
  
    /**  
     * @param playlist the playlist to set  
     */  
    public void setPlaylist( String playlist )  
    {  
        this.playlist = playlist;  
    }  
}  

eigentlich müsste in der erzeugten JSP ja nun "blablabla" stehen allerdings steht "testestest" drin.

Wär super wenn mir jemand weiter helfen könnte.

LG

  1. Servus!

    [...]
    Weil ich in anderen Foren von doppelten SUBMITS der Form gelesen habe, hab ich das schon geprüft aber da ist alles ok.

    Ich denke aber, genau hier liegt das Problem. Meistens passiert der zweite Aufruf unabsichtlich. Ruf die Seite mal mit aktiviertem "Live HTTP Headers" auf und schau Dir an, welche Requests abgesetzt werden (alternativ dazu auch gerne mit Firebug). Dort solltest Du sehen, wer hier für den zweiten Request verantwortlich ist.

    Schöne Grüße,

    Peter

    1. Hab den Fehler gefunden es lag an der neu erzeugten JSP. Weil ich dort versehentlich im jsp:usebean tag einen anderen Beannamen angegeben habe als den, den ich der JSP im Servlet mitgegeben habe. Das führte dazu, das usebean eine neue Instanz der Bean erzeugt hat. Kleiner Fehler, große Wirkung! Wär bald verzweifelt.

      Trotzdem vielen Dank für die Antwort