Internet Explorer, java e MySQL: nullptr e resultset vuoti
- Alessio89
- Messaggi: 8097
- Iscritto il: martedì 29 novembre 2011, 23:47
Internet Explorer, java e MySQL: nullptr e resultset vuoti
In pratica con il CMS che abbiamo sviluppato per il progetto di software engineering funziona perfettamente su tutti i browser tranne che su internet explorer.
Che novità direte voi, ma in questo caso non si tratta di html o aspetti grafici bensì di funzionalità: il sistema è scritto in java e utilizza un db in mysql.
Diverse funzionalità non funzionano in quanto ci ritornano dei nullpointer o degli empty resultSet solo in determinate occasioni (le più importanti -.-) e solo con Internet Explorer.
Con Opera, Firefox, Safari e chrome funziona tutto perfettamente e nel log di apache non abbiamo nemmeno un warning.
La cosa strana è che avevamo notato un comportamento simile con una vecchia versione di firefox datata oltre 2 anni, eppure internet explorer 9 non mi sembra così vecchio da non gestire un sistema in jdk6, apache e mysql
Per quanto per noi sia ininfluene la cosa (visto che afligge solo e proprio explorer) vorremmo capire anche il perché di questo strano comportamento. All'inizio pensavamo che fosse per problemi di filtri, encoding delle pagine o di html5 ma a quanto pare non è questo il problema, sembra che java da un giorno all'altro abbia smesso di funzionare bene con explorer.
Come JDK usiamo la 1.7* con target a 1.6* e l'intero sistema è sviluppato su netbeans 7.1.*.
Che novità direte voi, ma in questo caso non si tratta di html o aspetti grafici bensì di funzionalità: il sistema è scritto in java e utilizza un db in mysql.
Diverse funzionalità non funzionano in quanto ci ritornano dei nullpointer o degli empty resultSet solo in determinate occasioni (le più importanti -.-) e solo con Internet Explorer.
Con Opera, Firefox, Safari e chrome funziona tutto perfettamente e nel log di apache non abbiamo nemmeno un warning.
La cosa strana è che avevamo notato un comportamento simile con una vecchia versione di firefox datata oltre 2 anni, eppure internet explorer 9 non mi sembra così vecchio da non gestire un sistema in jdk6, apache e mysql
Per quanto per noi sia ininfluene la cosa (visto che afligge solo e proprio explorer) vorremmo capire anche il perché di questo strano comportamento. All'inizio pensavamo che fosse per problemi di filtri, encoding delle pagine o di html5 ma a quanto pare non è questo il problema, sembra che java da un giorno all'altro abbia smesso di funzionare bene con explorer.
Come JDK usiamo la 1.7* con target a 1.6* e l'intero sistema è sviluppato su netbeans 7.1.*.
- dino
- Messaggi: 16580
- Iscritto il: mercoledì 30 novembre 2011, 18:21
Re: Internet Explorer, java e MySQL: nullptr e resultset vuo
Ma alla fine è una applicazione JAVA che si installa come plugin? Oppure produce solo pagine HTML? Nel primo caso non saprei aiutarti ma anche in istituto una app JAVA funzionante su IE non funziona su Firefox (caso contrario al vostro ma esemplificativo). Nel secondo caso ci deve essere qualcosa di errato nella gestione del meccanismo rerquest / response
_____________________________
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
- Alessio89
- Messaggi: 8097
- Iscritto il: martedì 29 novembre 2011, 23:47
Re: Internet Explorer, java e MySQL: nullptr e resultset vuo
il sistema di fondo è scritto in java e gira su un server apache, il browser vede solo pagine html e qualche cookie, quindi siamo nel secondo caso.
quel che non capisco è che se fosse un problema di resquest e response allora perché da problemi solo con explorer? la cosa non ha senso. è possibile che vi sia stato qualche modifica al database (visto che non lo controlliamo direttamente) e che dia problemi con explorer o una versione di firefox dei inizio 2009 se non precedente?
in pratica le query leggermente "significative" se eseguite da html sotto explorer ritornano resultset vuote mentre in altre occasioni è il sistema in java a ritornanrci dei nullpointer generici
Abbiamo anche una serie di test, ma nessuno ci ritorna i problemi in questione.
abbiamo anche riempito tutto di try-catch per cercare qualche tipo di eccezzione ma nada. :\
quel che non capisco è che se fosse un problema di resquest e response allora perché da problemi solo con explorer? la cosa non ha senso. è possibile che vi sia stato qualche modifica al database (visto che non lo controlliamo direttamente) e che dia problemi con explorer o una versione di firefox dei inizio 2009 se non precedente?
in pratica le query leggermente "significative" se eseguite da html sotto explorer ritornano resultset vuote mentre in altre occasioni è il sistema in java a ritornanrci dei nullpointer generici
Abbiamo anche una serie di test, ma nessuno ci ritorna i problemi in questione.
abbiamo anche riempito tutto di try-catch per cercare qualche tipo di eccezzione ma nada. :\
- dino
- Messaggi: 16580
- Iscritto il: mercoledì 30 novembre 2011, 18:21
Re: Internet Explorer, java e MySQL: nullptr e resultset vuo
Si ma il punto è che non c'è alcuna relazione fra query e browser. Il browser manda una richiesta che deve essere intercettata da una servlet (pagina jsp). Tale pagina poi chiama un metodo di una classe JAVA che - se non ricordo male - nel vostro caso funge sia da controller che da business e questa poi esegue la query e ritorna qualcosa (resultset). Tale ritorno viene elaborato poi dalla servlet e trasformato in codice HTML per il browser.
Se il RS è vuoto non può essere colpa del browser a meno che questo non invii parametri errati. In debug avete controllato cosa arriva dalla request quando usate IE?
Se il RS è vuoto non può essere colpa del browser a meno che questo non invii parametri errati. In debug avete controllato cosa arriva dalla request quando usate IE?
_____________________________
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
- Alessio89
- Messaggi: 8097
- Iscritto il: martedì 29 novembre 2011, 23:47
Re: Internet Explorer, java e MySQL: nullptr e resultset vuo
il problema è questo: non capiamo da dove parta il tutto, e non abbiamo conoscenze sufficienti per debugging di questo tipo.
ieri mi sono rifatto per l'ennesima volta a ritroso il percorso dei vari oggetti e delle varie query ma non si riesce a capire da dove parta il tutto in quanto i messaggi di errore sono privi di senso e parlano sempre di nulpointer o resultset vuoti, sin dal principio. eppure le prime connessioni al db le fa con explorer, altrimenti non riusciremmo nemmeno a loggare nel sistema.
ieri mi sono rifatto per l'ennesima volta a ritroso il percorso dei vari oggetti e delle varie query ma non si riesce a capire da dove parta il tutto in quanto i messaggi di errore sono privi di senso e parlano sempre di nulpointer o resultset vuoti, sin dal principio. eppure le prime connessioni al db le fa con explorer, altrimenti non riusciremmo nemmeno a loggare nel sistema.
- dino
- Messaggi: 16580
- Iscritto il: mercoledì 30 novembre 2011, 18:21
Re: Internet Explorer, java e MySQL: nullptr e resultset vuo
Posta il codice della pagina JSP
_____________________________
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
- Alessio89
- Messaggi: 8097
- Iscritto il: martedì 29 novembre 2011, 23:47
Re: Internet Explorer, java e MySQL: nullptr e resultset vuo
mmm ormai è troppo tardi xD
Tanto la presentazione del progetto è andata bene
In ogni caso se fossi curioso qua c'è la repo: http://code.google.com/p/startup-phd/source/checkout
Tanto la presentazione del progetto è andata bene
In ogni caso se fossi curioso qua c'è la repo: http://code.google.com/p/startup-phd/source/checkout
- dino
- Messaggi: 16580
- Iscritto il: mercoledì 30 novembre 2011, 18:21
Re: Internet Explorer, java e MySQL: nullptr e resultset vuo
Menomale! Ma il nome della pagina incriminata qual'è?
_____________________________
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
- Alessio89
- Messaggi: 8097
- Iscritto il: martedì 29 novembre 2011, 23:47
Re: Internet Explorer, java e MySQL: nullptr e resultset vuo
le pagine che creano problemi sono le estimate.jsp (sono due ma essenzialmente identiche, le abbiamo sdoppiate perché non avevamo tempo per gestire due tipi di utenti sulla stessa pagina)
Cmq già dubito che proveranno il codice di persona, figuriamoci se lo provano su explorer xD
Cmq già dubito che proveranno il codice di persona, figuriamoci se lo provano su explorer xD
- dino
- Messaggi: 16580
- Iscritto il: mercoledì 30 novembre 2011, 18:21
Re: Internet Explorer, java e MySQL: nullptr e resultset vuo
Va bene che siete partiti da zero e magari senza alcuna linea guida ma quella pagina non si può guardare! Trovare le query sulla pagina JSP è la stessa cosa che programmare pagine ASP alla vecchia maniera! Mannaggia a voi! E ti credo che non debuggate
Così tanto per dire, tutta la parte di business e accesso al DB non deve MAI essere esposta sulle pagine JSP che al massimo si preoccupano di mostrare i dati e fare qualcosa di banale ma su dati che provengono dal controller in forma di - ad esempio - ResultSet.
Tanto per capirci.
1. Quello che mi aspetto di trovare sulla pagina JSP è:
2. Quello che vorrei vedere sul controller è:
3. E quello che vorrei vedere sulla logica di Business è:
Ovviamente a grandi linee . Spero sia chiaro e soprattutto siano chiari i vantaggi
Così tanto per dire, tutta la parte di business e accesso al DB non deve MAI essere esposta sulle pagine JSP che al massimo si preoccupano di mostrare i dati e fare qualcosa di banale ma su dati che provengono dal controller in forma di - ad esempio - ResultSet.
Tanto per capirci.
1. Quello che mi aspetto di trovare sulla pagina JSP è:
Codice: Seleziona tutto
MissionRequest mission = (MissionRequest) session.getAttribute( "missioneRichiesta" );
Codice: Seleziona tutto
String name = (String )request.getParameter("name");
String type= (String )request.getParameter("type");
Integer id = Integer.valueOf((String )request.getParameter("id"));
ResultSet risultato = NomeClasseBusiness.getPreventive( String name, String type, Integer id );
session.setAttribute("missioneRichiesta", risultato );
}
Codice: Seleziona tutto
public ResultSet getPreventive( String name, String type, Integer id ) {
Query q = new Query( name, type, id );
return q.executeOnPhdDatabase();
}
_____________________________
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/