Ho un problema sui dati che la servlet manda al browser

La mia servlet riceve dati da un form, con questi dati crea o aggiorna un file xml e fin quà tutto ok e funziona.

Ad ogni operazione che fa la servlet visualizzo un messaggio sul browser, tipo quando il file xml è stato scritto comunico che la registrazione è avvenuta con successo oppure se i campi del form obbligatori non sono stati inseriti comunico che ci sono dei campi mancanti...ecc....

Il problema è questo
clicclo sul link registrati e appare il form
io clicco sul tasto invia del form e richiamo così la servlet. Mettiamo che non ho inserito nessun dato nel form, a video mi comparira sul browser "dati mancanti".
Poi rischiaccio sul link registrati, ricompare il form, riempio i campi e sul browser mi compare la scritta "registrazione avvenuta con successo" MA IL PROBLEMA è CHE è RIMASTA ANCHE LA SCRITTA CHE LA SERVER AVEVA INVIATO PRIMA "dati mancanti" E SOTTO AGGIUNGE "registrazione avvvenuta con successo".
Se io continuo a fare altri invi, giusti o sbagliati, i messaggi continuano a susseguirsi ma rimangono tutti.
COME FACCIO A FAR SI CHE RIMANGA SOLO L'ULTIMO????

INSERISCO IL CODICE DELLA SERVLET
codice:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.io.File;
import java.util.*;
import java.text.*;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
import java.util.Iterator;
import java.util.List;
				
public class registrazione extends HttpServlet{
	StringBuffer buf = new StringBuffer();
	Document documento = null;
	Element elementoRegistrati = null;
	String tipologia = new String("");
	String nome,cognome,via,numciv,città,area,telefono,provincia,cap,nazione,professione,giorno_nascita,mese_nascita,anno_nascita,etnico,tradizionale,internazionale,winbar,vegetariano,password_inviata,username_inviato;	
	public void aggiungiRegistrato(){
		Element registrato = new Element("registrato");
		Element element_nome = new Element("nome");
		Element element_cognome = new Element("cognome");
		Element element_via = new Element("via");
		Element element_numciv = new Element("numciv");
		Element element_city = new Element("city");
		Element element_area = new Element("area");
		Element element_telefono = new Element("telefono");
		Element element_provincia = new Element("provincia");
		Element element_cap = new Element("cap");
		Element element_nazione = new Element("nazione");
		Element element_professione = new Element("professione");
		Element element_giorno = new Element("giorno");
		Element element_mese = new Element("mese");
		Element element_anno = new Element("anno");
		Element element_tipologia = new Element("tipologia");
		Element nascita = new Element("data_di_nascita");
		if (etnico != null){
			tipologia = tipologia + "etnico-";
		}
		if (tradizionale != null){
			tipologia = tipologia + "tradizionale-";
		}
		if (winbar != null){
			tipologia = tipologia + "winbar-";
		}
		if (internazionale != null){
			tipologia = tipologia + "internazionale-";
		}
		if (vegetariano != null){
			tipologia = tipologia + "vegetariano";
		}
		element_nome.setText(nome);
		element_cognome.setText(cognome);
		element_via.setText(via);
		element_numciv.setText(numciv);
		element_city.setText(città);
		element_area.setText(area);
		element_telefono.setText(telefono);
		element_provincia.setText(provincia);
		element_cap.setText(cap);
		element_nazione.setText(nazione);
		element_professione.setText(professione);
		element_tipologia.setText(tipologia);
		element_giorno.setText(giorno_nascita);
		element_mese.setText(mese_nascita);
		element_anno.setText(anno_nascita);
		nascita.addContent(element_giorno);
		nascita.addContent(element_mese);
		nascita.addContent(element_anno);
		registrato.addContent(element_nome);
		registrato.addContent(element_cognome);
		registrato.addContent(element_via);
		registrato.addContent(element_numciv);
		registrato.addContent(element_city);
		registrato.addContent(element_cap);	
		registrato.addContent(element_provincia);
		registrato.addContent(element_nazione);
		registrato.addContent(element_professione);
		registrato.addContent(nascita);
		registrato.addContent(tipologia);
		registrato.addContent(element_telefono);
		registrato.addContent(element_area);
		registrato.setAttribute("password",password_inviata);
		registrato.setAttribute("username",username_inviato);
		registrato.setAttribute("ruolo","generico");	
		elementoRegistrati.addContent(registrato);
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
		response.setContentType("text/html");
		PrintWriter responseOutput = response.getWriter();
		buf.append("<html><head><LINK REL='stylesheet' TYPE='text/css' HREF='../css/index.css' MEDIA='all' /></head><body>");
		String controllo = new String("ok");
		//RECUPERO LE INFORMAZIONI INVIATE DAL FORM
		nome = request.getParameter("nome");
		cognome = request.getParameter("cognome");
		via = request.getParameter("via");
		numciv =request.getParameter("numciv");
		città =request.getParameter("città");
		telefono =request.getParameter("telefono");
		provincia =request.getParameter("provincia");
		cap =request.getParameter("cap");
		nazione =request.getParameter("nazione");
		professione =request.getParameter("professione");
		giorno_nascita = request.getParameter("giorno");
		mese_nascita = request.getParameter("mese");
		anno_nascita = request.getParameter("anno");
		etnico = request.getParameter("etnico");
		tradizionale = request.getParameter("tradizionale");
		vegetariano = request.getParameter("vegetariano");
		winbar = request.getParameter("winbar");
		internazionale = request.getParameter("internazionale");
		password_inviata = request.getParameter("password_registrazione");
		username_inviato = request.getParameter("username_registrazione");
		if ((nome != "") && (cognome != "") && (via != "") && (numciv != "") && (città != "") &&  (provincia != "") && (cap != "") && (nazione != "") && (password_inviata != "") && (username_inviato != "")){		
			//CONTROLLO SE ESISTE GIA' UN FILE .XML CHE SI CHIAMA REGISTRATI
			String path = new String ("../webapps/restaurants/xml/registrati.xml");
			File file = new File(path);
			//SE IL FILE NON ESISTE LO CREO E GLI AGGIUNGO L'ELEMENTO RADICE IL PRIMO REGISTRATO
			if (!file.exists()){
				file.createNewFile();
				elementoRegistrati = new Element("registrati");
				//AGGIUNGO IL REGISTARTO CHE RISULTA IL PRIMO DATO CHE IL FILE REGISTRATI.XML NON ESISTEVA
				aggiungiRegistrato();
				//SCRIVO IL DOCUMENT NEL FILE		
				documento = new Document(elementoRegistrati);
				XMLOutputter xmlOutputter = new XMLOutputter();
				try{
   					FileOutputStream fileOutputStream = new FileOutputStream(new File(path)); 
   					xmlOutputter.output(documento, fileOutputStream);
					buf.append("Registrazione avvenuta con successo
");
 				}
	 			catch (FileNotFoundException ex){
   					System.err.println(ex);
 				}
	 			catch (IOException ex){
   					System.err.println(ex);
 				}
			}
			else{
				//SE IL FILE ESISTE LO CARICO IN MEMORIA
 				SAXBuilder saxBuilder = new SAXBuilder();
				try{
   					documento = saxBuilder.build(new File(path)); 
 				}
 				catch (JDOMException ex){
   					System.err.println(ex);
				}
	 			catch (IOException ex){
   					System.err.println(ex);
 				}					
				//POI UNA VOLTA CARICATO CONTROLLO CHE NON CI SIA GIA' UN REGISTRATO CON TALE LOGIN E SE NON C'è INSERISCO IL NUOVO 	REGISTRATO ALTRIMENTI GLI DICO DI CAMBIARE LOGIN
				elementoRegistrati = documento.getRootElement(); 
				List lista_registrati = elementoRegistrati.getChildren();
				// ottengo un iteratore alla lista chiamando il metodo iterator() di Collection (essendo una list una collection) 
 				Iterator iteratore = lista_registrati.iterator();
				while (iteratore.hasNext())
	 			{ 
	   				// ottengo l'elemento corrente chiamando next() sull'iteratore 
	   				Element registrato_corrente = (Element)iteratore.next(); 
					String username = registrato_corrente.getAttributeValue("username");
					String password = registrato_corrente.getAttributeValue("password");
					if (password_inviata.equals(password)){
						buf.append("Password già presente, sceglierla diversamente
");
						controllo = new String("ko");
						break;
					}
	 			}
				if (controllo.equals("ok")){
					//RISCRIVO L'INTERO DOCUMENTO NEL FILE XML DOPO AVER AGGIUNTO IL REGISTRATO
					aggiungiRegistrato();
					XMLOutputter xmlOutputter = new XMLOutputter();
	 				//IL METODO SEGUENTE Format.getPrettyFormat() SERVE PER SCRIVERE SUL FILE XML IN MODO BEN FORMATTATO 	CON GLI 	A CAPO E LE INDENTAZIONI PER OGNI ELEMENTO, MA NON ME LO ACCETTA
					//xmlOutputter.setFormat(Format.getPrettyFormat());
	    				try{
	   					FileOutputStream fileOutputStream = new FileOutputStream(new File(path)); 
	   					xmlOutputter.output(documento, fileOutputStream);
						buf.append("Registrazione avvenuta con successo
");
	 				}
			 		catch (FileNotFoundException ex){
	   					System.err.println(ex);
	 				}
			 		catch (IOException ex){
	   					System.err.println(ex);
	 				}
				}			
			}
		}
		else{
			buf.append("Informazioni mancanti, i campi con * sono obbligatori
");
		}
		buf.append("</body></html>");
		responseOutput.println(buf.toString());
		responseOutput.close();
	}
}
[/CODE]