Ciao a tutti!
Ho un'applicazione web che mi permette di eseguire le funzioni seguenti:
1) caricare (fare upload) un file di testo nel quale, sottoforma di tabella, vengono riportati dati di alcune caratteristiche riguardanti alcune coordinate geografiche, tipo:
Latitudine Longitudine Feature1 Feature 2 Feature 3
2)una volta caricati i dati, l'utente può posizionarsi su un'area di una mappa di Google Maps, dalla quale viene estratta la latitudine max e minima e la longitudine max e minima dell'area selezionata.
3)vengono estratte le intestazioni del file di testo precedentemente caricato e mostrate con una select multipla, in modo tale che possano essere selezionate dall'utente (via ajax).
Una volta che l'utente ha selezionato le coordinate max e minim e le feature dalla select creata, schiacciando un pulsante viene fatta una richiesta ajax alla servlet per eseguire un post, inviando i dati selezionati. Con questo post vengono estratti dal file caricato in precedenza solo quei dati che rientrano nel range di coordinate selezionate, e che corrispondono alle feature selezionate dall'utente, creando così un file di testo che può essere scaricato dall'utente stesso.
Ora, il mio problema sta nel fatto che l'upload del file e quest'ultima richiesta alla servlet, vengono fatte entrambe con un POST, e quindi non so come far distinguere al doPost che tipo di richiesta deve soddisfare!
Ho provato in questo modo, non avendo successo:
appena richiamata la doPost viene riempito l'oggetto enumeration parameters,
parameters = request.getParameterNames();
Poi vado a contare quanti elementi sono contenuti in parameters:
int p = 0;
while (parameters.hasMoreElements()) {
p++;
}
se p==0 allora faccio l'upload, altrimenti faccio la seconda richiesta, poichè per la seconda richiesta ho dei parametri da mandare e quindi p sarà sicuramente diverso da 0.
Invece parameters è sempre uguale a 0, anche se faccio l'altra richiesta...allora c'è qualcosa che non va in come mando i parametri alla post!