afficher dans jsp toutes les autres jsp génerées par l'appli
2 réponses
thisislife
bonjour =E0 tous,
dans le contexte d'une application devant pouvoir g=E9rer plusieurs
centaines d'utilisateurs, je cherche =E0 ce que [b]quand un utilisateur
effectue une action dans une jsp, celle-ci fasse recharger
imm=E9diatement certaines pages sp=E9cifiques[/b] affich=E9es par d'autres
utilisateurs
par exemple, il y a 10 utilisateurs dans l'appli. vous cliquez sur un
bouton dans votre page, et les 3 autres utilisateurs concern=E9s voient
imm=E9diatement leurs pages mises =E0 jour avec la modif que vous avez
faite alors que les 7 autres utilisateurs gardent leur page inchang=E9e.
le but est qu'il n'y ait que quatre connexions =E0 la base, une pour
chacune de ces pages modifi=E9es, au lieu d'une dizaine si chaque page
doit v=E9rifier r=E9guli=E8rement si ses donn=E9es ont =E9t=E9 chang=E9es
pour tester ca, je voudrais parvenir =E0 afficher dans une jsp toutes
les autres jsp en cours d'affichage g=E9n=E9r=E9es par cette application
ainsi, s'il y a 4 personnes qui vont sur cette page au m=EAme moment
(session non expir=E9e), ou sur d'autres pages de cette appli test, elle
devra afficher qu'il y a 4 pages
l'=E9tape suivante sera de parvenir =E0 faire recharger les autres pages
affich=E9es =E0 partir de celle-ci
=E9videmment il faut arriver =E0 faire cela avec un minimum de conso
serveur ^^
les solutions que je vois :
[b]1) base de donn=E9es[/b]. solution classique. pour rester un minimum
r=E9actif, cela implique que
>> toutes les pages se rechargent r=E9guli=E8rement pour savoir si leur aff=
ichage doit changer, ce qui est idiot puisque la page sera recharg=E9e m=EA=
me si l'affichage n'a pas besoin d'=EAtre mis =E0 jour.
>> chaque page lance une petite thread v=E9rifiant r=E9guli=E8rement si les=
donn=E9es la concernant ont =E9t=E9 modifi=E9es. si oui, elle recharge la =
page.
>>>> entraine un gaspillage de ressources serveur et de connexions bd =E9no=
rme (si chaque page lance une thread ou se recharge toutes les secondes...)
2) parvenir, =E0 partir d'une page, =E0 [b]acc=E9der aux autres pages
cr=E9es par le serveur pour les autres utilisateurs[/b]
dans ce cas, il "suffit" de ne faire recharger que les pages
concern=E9es par la modif. et celles-ci ne se connecteront =E0 la base
que si elles en ont besoin.
mais comment une page peut =EAtre acc=E9der aux autres pages g=E9n=E9r=E9es
par l'application ?
>> par la session ? il y avait un HttpSessionContext bien utile, mais visib=
lement supprim=E9...
>> par des streams ?
>> ouvrir des sockets entre les pages ? ce qui implique de d=E9velopper un =
v=E9ritable m=E9canisme serveur/clients... un peu lourd quand m=EAme dans c=
e cas je vois pas l'int=E9ret de faire du dev internet :(
>> par les fichiers physiques g=E9n=E9r=E9s sur le serveur, mais ca ne perm=
et pas de communiquer avec elles, juste de savoir qu'elles existent et =E9v=
entuellement de les supprimer (bonjour les effets de bord en perspective ^^)
>> ???
bref, si vous avez des id=E9es elles sont les bienvenues ! ^^
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
alexandre cartapanis
thisislife wrote:
bonjour à tous,
dans le contexte d'une application devant pouvoir gérer plusieurs centaines d'utilisateurs, je cherche à ce que [b]quand un utilisateur effectue une action dans une jsp, celle-ci fasse recharger immédiatement certaines pages spécifiques[/b] affichées par d'aut res utilisateurs
par exemple, il y a 10 utilisateurs dans l'appli. vous cliquez sur un bouton dans votre page, et les 3 autres utilisateurs concernés voient immédiatement leurs pages mises à jour avec la modif que vous avez faite alors que les 7 autres utilisateurs gardent leur page inchangée .
le but est qu'il n'y ait que quatre connexions à la base, une pour chacune de ces pages modifiées, au lieu d'une dizaine si chaque page doit vérifier régulièrement si ses données ont été changé es
Heu si au lieu de mettre ton code JDBC dans tes JSPs tu utilises une couche DAO, couplé a une pool de connection, a mon avis t'as pas besoin de te faire chier. D'autant plus si tu rajoutes une gestion des transactions... Bon apres c'est vrai que suivant les cas ca ne resoudra pas toujours tes souci...
pour tester ca, je voudrais parvenir à afficher dans une jsp toutes les autres jsp en cours d'affichage générées par cette applicatio n ainsi, s'il y a 4 personnes qui vont sur cette page au même moment (session non expirée), ou sur d'autres pages de cette appli test, ell e devra afficher qu'il y a 4 pages
l'étape suivante sera de parvenir à faire recharger les autres page s affichées à partir de celle-ci
évidemment il faut arriver à faire cela avec un minimum de conso serveur ^^
les solutions que je vois :
[b]1) base de données[/b]. solution classique. pour rester un minimum réactif, cela implique que
toutes les pages se rechargent régulièrement pour savoir si leur a ffichage doit changer, ce qui est idiot puisque la page sera rechargée même si l'affichage n'a pas besoin d'être mis à jour. chaque page lance une petite thread vérifiant régulièrement si l es données la concernant ont été modifiées. si oui, elle recharge la page.
entraine un gaspillage de ressources serveur et de connexions bd é norme (si chaque page lance une thread ou se recharge toutes les secondes ...)
2) parvenir, à partir d'une page, à [b]accéder aux autres pages crées par le serveur pour les autres utilisateurs[/b] dans ce cas, il "suffit" de ne faire recharger que les pages concernées par la modif. et celles-ci ne se connecteront à la base que si elles en ont besoin. mais comment une page peut être accéder aux autres pages généré es par l'application ?
par la session ? il y avait un HttpSessionContext bien utile, mais vis iblement supprimé... par des streams ? ouvrir des sockets entre les pages ? ce qui implique de développer u n véritable mécanisme serveur/clients... un peu lourd quand même da ns ce cas je vois pas l'intéret de faire du dev internet :( par les fichiers physiques générés sur le serveur, mais ca ne pe rmet pas de communiquer avec elles, juste de savoir qu'elles existent et éventuellement de les supprimer (bonjour les effets de bord en perspect ive ^^) ???
Une autre possibilité est de passer par des evenements peut etre. Mais en statique je vois pas trop. Regarde du coté des technologies AJAX. Google fais des trucs sympa AJAX.
bref, si vous avez des idées elles sont les bienvenues ! ^^
cordialement
David
thisislife wrote:
bonjour à tous,
dans le contexte d'une application devant pouvoir gérer plusieurs
centaines d'utilisateurs, je cherche à ce que [b]quand un utilisateur
effectue une action dans une jsp, celle-ci fasse recharger
immédiatement certaines pages spécifiques[/b] affichées par d'aut res
utilisateurs
par exemple, il y a 10 utilisateurs dans l'appli. vous cliquez sur un
bouton dans votre page, et les 3 autres utilisateurs concernés voient
immédiatement leurs pages mises à jour avec la modif que vous avez
faite alors que les 7 autres utilisateurs gardent leur page inchangée .
le but est qu'il n'y ait que quatre connexions à la base, une pour
chacune de ces pages modifiées, au lieu d'une dizaine si chaque page
doit vérifier régulièrement si ses données ont été changé es
Heu si au lieu de mettre ton code JDBC dans tes JSPs tu utilises une
couche DAO, couplé a une pool de connection, a mon avis t'as pas besoin
de te faire chier. D'autant plus si tu rajoutes une gestion des
transactions...
Bon apres c'est vrai que suivant les cas ca ne resoudra pas toujours tes
souci...
pour tester ca, je voudrais parvenir à afficher dans une jsp toutes
les autres jsp en cours d'affichage générées par cette applicatio n
ainsi, s'il y a 4 personnes qui vont sur cette page au même moment
(session non expirée), ou sur d'autres pages de cette appli test, ell e
devra afficher qu'il y a 4 pages
l'étape suivante sera de parvenir à faire recharger les autres page s
affichées à partir de celle-ci
évidemment il faut arriver à faire cela avec un minimum de conso
serveur ^^
les solutions que je vois :
[b]1) base de données[/b]. solution classique. pour rester un minimum
réactif, cela implique que
toutes les pages se rechargent régulièrement pour savoir si leur a ffichage doit changer, ce qui est idiot puisque la page sera rechargée même si l'affichage n'a pas besoin d'être mis à jour.
chaque page lance une petite thread vérifiant régulièrement si l es données la concernant ont été modifiées. si oui, elle recharge la page.
entraine un gaspillage de ressources serveur et de connexions bd é norme (si chaque page lance une thread ou se recharge toutes les secondes ...)
2) parvenir, à partir d'une page, à [b]accéder aux autres pages
crées par le serveur pour les autres utilisateurs[/b]
dans ce cas, il "suffit" de ne faire recharger que les pages
concernées par la modif. et celles-ci ne se connecteront à la base
que si elles en ont besoin.
mais comment une page peut être accéder aux autres pages généré es
par l'application ?
par la session ? il y avait un HttpSessionContext bien utile, mais vis iblement supprimé...
par des streams ?
ouvrir des sockets entre les pages ? ce qui implique de développer u n véritable mécanisme serveur/clients... un peu lourd quand même da ns ce cas je vois pas l'intéret de faire du dev internet :(
par les fichiers physiques générés sur le serveur, mais ca ne pe rmet pas de communiquer avec elles, juste de savoir qu'elles existent et éventuellement de les supprimer (bonjour les effets de bord en perspect ive ^^)
???
Une autre possibilité est de passer par des evenements peut etre. Mais
en statique je vois pas trop. Regarde du coté des technologies AJAX.
Google fais des trucs sympa AJAX.
bref, si vous avez des idées elles sont les bienvenues ! ^^
dans le contexte d'une application devant pouvoir gérer plusieurs centaines d'utilisateurs, je cherche à ce que [b]quand un utilisateur effectue une action dans une jsp, celle-ci fasse recharger immédiatement certaines pages spécifiques[/b] affichées par d'aut res utilisateurs
par exemple, il y a 10 utilisateurs dans l'appli. vous cliquez sur un bouton dans votre page, et les 3 autres utilisateurs concernés voient immédiatement leurs pages mises à jour avec la modif que vous avez faite alors que les 7 autres utilisateurs gardent leur page inchangée .
le but est qu'il n'y ait que quatre connexions à la base, une pour chacune de ces pages modifiées, au lieu d'une dizaine si chaque page doit vérifier régulièrement si ses données ont été changé es
Heu si au lieu de mettre ton code JDBC dans tes JSPs tu utilises une couche DAO, couplé a une pool de connection, a mon avis t'as pas besoin de te faire chier. D'autant plus si tu rajoutes une gestion des transactions... Bon apres c'est vrai que suivant les cas ca ne resoudra pas toujours tes souci...
pour tester ca, je voudrais parvenir à afficher dans une jsp toutes les autres jsp en cours d'affichage générées par cette applicatio n ainsi, s'il y a 4 personnes qui vont sur cette page au même moment (session non expirée), ou sur d'autres pages de cette appli test, ell e devra afficher qu'il y a 4 pages
l'étape suivante sera de parvenir à faire recharger les autres page s affichées à partir de celle-ci
évidemment il faut arriver à faire cela avec un minimum de conso serveur ^^
les solutions que je vois :
[b]1) base de données[/b]. solution classique. pour rester un minimum réactif, cela implique que
toutes les pages se rechargent régulièrement pour savoir si leur a ffichage doit changer, ce qui est idiot puisque la page sera rechargée même si l'affichage n'a pas besoin d'être mis à jour. chaque page lance une petite thread vérifiant régulièrement si l es données la concernant ont été modifiées. si oui, elle recharge la page.
entraine un gaspillage de ressources serveur et de connexions bd é norme (si chaque page lance une thread ou se recharge toutes les secondes ...)
2) parvenir, à partir d'une page, à [b]accéder aux autres pages crées par le serveur pour les autres utilisateurs[/b] dans ce cas, il "suffit" de ne faire recharger que les pages concernées par la modif. et celles-ci ne se connecteront à la base que si elles en ont besoin. mais comment une page peut être accéder aux autres pages généré es par l'application ?
par la session ? il y avait un HttpSessionContext bien utile, mais vis iblement supprimé... par des streams ? ouvrir des sockets entre les pages ? ce qui implique de développer u n véritable mécanisme serveur/clients... un peu lourd quand même da ns ce cas je vois pas l'intéret de faire du dev internet :( par les fichiers physiques générés sur le serveur, mais ca ne pe rmet pas de communiquer avec elles, juste de savoir qu'elles existent et éventuellement de les supprimer (bonjour les effets de bord en perspect ive ^^) ???
Une autre possibilité est de passer par des evenements peut etre. Mais en statique je vois pas trop. Regarde du coté des technologies AJAX. Google fais des trucs sympa AJAX.
bref, si vous avez des idées elles sont les bienvenues ! ^^
cordialement
David
Fabien Bergeret
thisislife wrote:
bonjour à tous,
dans le contexte d'une application devant pouvoir gérer plusieurs centaines d'utilisateurs, je cherche à ce que [b]quand un utilisateur effectue une action dans une jsp, celle-ci fasse recharger immédiatement certaines pages spécifiques[/b] affichées par d'autres utilisateurs
par exemple, il y a 10 utilisateurs dans l'appli. vous cliquez sur un bouton dans votre page, et les 3 autres utilisateurs concernés voient immédiatement leurs pages mises à jour avec la modif que vous avez faite alors que les 7 autres utilisateurs gardent leur page inchangée.
le but est qu'il n'y ait que quatre connexions à la base, une pour chacune de ces pages modifiées, au lieu d'une dizaine si chaque page doit vérifier régulièrement si ses données ont été changées
pour tester ca, je voudrais parvenir à afficher dans une jsp toutes les autres jsp en cours d'affichage générées par cette application ainsi, s'il y a 4 personnes qui vont sur cette page au même moment (session non expirée), ou sur d'autres pages de cette appli test, elle devra afficher qu'il y a 4 pages
l'étape suivante sera de parvenir à faire recharger les autres pages affichées à partir de celle-ci
évidemment il faut arriver à faire cela avec un minimum de conso serveur ^^
les solutions que je vois :
[b]1) base de données[/b]. solution classique. pour rester un minimum réactif, cela implique que
toutes les pages se rechargent régulièrement pour savoir si leur affichage doit changer, ce qui est idiot puisque la page sera rechargée même si l'affichage n'a pas besoin d'être mis à jour. chaque page lance une petite thread vérifiant régulièrement si les données la concernant ont été modifiées. si oui, elle recharge la page.
entraine un gaspillage de ressources serveur et de connexions bd énorme (si chaque page lance une thread ou se recharge toutes les secondes...)
2) parvenir, à partir d'une page, à [b]accéder aux autres pages crées par le serveur pour les autres utilisateurs[/b] dans ce cas, il "suffit" de ne faire recharger que les pages concernées par la modif. et celles-ci ne se connecteront à la base que si elles en ont besoin. mais comment une page peut être accéder aux autres pages générées par l'application ?
par la session ? il y avait un HttpSessionContext bien utile, mais visiblement supprimé... par des streams ? ouvrir des sockets entre les pages ? ce qui implique de développer un véritable mécanisme serveur/clients... un peu lourd quand même dans ce cas je vois pas l'intéret de faire du dev internet :( par les fichiers physiques générés sur le serveur, mais ca ne permet pas de communiquer avec elles, juste de savoir qu'elles existent et éventuellement de les supprimer (bonjour les effets de bord en perspective ^^) ???
bref, si vous avez des idées elles sont les bienvenues ! ^^
cordialement
David
De toutes facons, tu ne coupes pas a un polling donc a une interrogation
de ton serveur. Ensuite, si t'as bcp de requetes indentiques a la BDD, tu peux mettre en place un cache Ma proposition "old school" (sans Ajax) : le multiframe : une frame se resoumet toutes les n secondes. Si la page a besoin d'etre rechargee, elle declenche un javascript de rechargement de la page principale. La meme "high tech" : toutes les n secondes, tu fais une requete par Javascript qui te remonte l'etat de ta page (a jour, ou pas), et suivant le resultat, la page se rafraichit ou ne fait rien
thisislife wrote:
bonjour à tous,
dans le contexte d'une application devant pouvoir gérer plusieurs
centaines d'utilisateurs, je cherche à ce que [b]quand un utilisateur
effectue une action dans une jsp, celle-ci fasse recharger
immédiatement certaines pages spécifiques[/b] affichées par d'autres
utilisateurs
par exemple, il y a 10 utilisateurs dans l'appli. vous cliquez sur un
bouton dans votre page, et les 3 autres utilisateurs concernés voient
immédiatement leurs pages mises à jour avec la modif que vous avez
faite alors que les 7 autres utilisateurs gardent leur page inchangée.
le but est qu'il n'y ait que quatre connexions à la base, une pour
chacune de ces pages modifiées, au lieu d'une dizaine si chaque page
doit vérifier régulièrement si ses données ont été changées
pour tester ca, je voudrais parvenir à afficher dans une jsp toutes
les autres jsp en cours d'affichage générées par cette application
ainsi, s'il y a 4 personnes qui vont sur cette page au même moment
(session non expirée), ou sur d'autres pages de cette appli test, elle
devra afficher qu'il y a 4 pages
l'étape suivante sera de parvenir à faire recharger les autres pages
affichées à partir de celle-ci
évidemment il faut arriver à faire cela avec un minimum de conso
serveur ^^
les solutions que je vois :
[b]1) base de données[/b]. solution classique. pour rester un minimum
réactif, cela implique que
toutes les pages se rechargent régulièrement pour savoir si leur affichage doit changer, ce qui est idiot puisque la page sera rechargée même si l'affichage n'a pas besoin d'être mis à jour.
chaque page lance une petite thread vérifiant régulièrement si les données la concernant ont été modifiées. si oui, elle recharge la page.
entraine un gaspillage de ressources serveur et de connexions bd énorme (si chaque page lance une thread ou se recharge toutes les secondes...)
2) parvenir, à partir d'une page, à [b]accéder aux autres pages
crées par le serveur pour les autres utilisateurs[/b]
dans ce cas, il "suffit" de ne faire recharger que les pages
concernées par la modif. et celles-ci ne se connecteront à la base
que si elles en ont besoin.
mais comment une page peut être accéder aux autres pages générées
par l'application ?
par la session ? il y avait un HttpSessionContext bien utile, mais visiblement supprimé...
par des streams ?
ouvrir des sockets entre les pages ? ce qui implique de développer un véritable mécanisme serveur/clients... un peu lourd quand même dans ce cas je vois pas l'intéret de faire du dev internet :(
par les fichiers physiques générés sur le serveur, mais ca ne permet pas de communiquer avec elles, juste de savoir qu'elles existent et éventuellement de les supprimer (bonjour les effets de bord en perspective ^^)
???
bref, si vous avez des idées elles sont les bienvenues ! ^^
cordialement
David
De toutes facons, tu ne coupes pas a un polling donc a une interrogation
de ton serveur.
Ensuite, si t'as bcp de requetes indentiques a la BDD, tu peux mettre en
place un cache
Ma proposition "old school" (sans Ajax) : le multiframe : une frame se
resoumet toutes les n secondes. Si la page a besoin d'etre rechargee,
elle declenche un javascript de rechargement de la page principale.
La meme "high tech" : toutes les n secondes, tu fais une requete par
Javascript qui te remonte l'etat de ta page (a jour, ou pas), et suivant
le resultat, la page se rafraichit ou ne fait rien
dans le contexte d'une application devant pouvoir gérer plusieurs centaines d'utilisateurs, je cherche à ce que [b]quand un utilisateur effectue une action dans une jsp, celle-ci fasse recharger immédiatement certaines pages spécifiques[/b] affichées par d'autres utilisateurs
par exemple, il y a 10 utilisateurs dans l'appli. vous cliquez sur un bouton dans votre page, et les 3 autres utilisateurs concernés voient immédiatement leurs pages mises à jour avec la modif que vous avez faite alors que les 7 autres utilisateurs gardent leur page inchangée.
le but est qu'il n'y ait que quatre connexions à la base, une pour chacune de ces pages modifiées, au lieu d'une dizaine si chaque page doit vérifier régulièrement si ses données ont été changées
pour tester ca, je voudrais parvenir à afficher dans une jsp toutes les autres jsp en cours d'affichage générées par cette application ainsi, s'il y a 4 personnes qui vont sur cette page au même moment (session non expirée), ou sur d'autres pages de cette appli test, elle devra afficher qu'il y a 4 pages
l'étape suivante sera de parvenir à faire recharger les autres pages affichées à partir de celle-ci
évidemment il faut arriver à faire cela avec un minimum de conso serveur ^^
les solutions que je vois :
[b]1) base de données[/b]. solution classique. pour rester un minimum réactif, cela implique que
toutes les pages se rechargent régulièrement pour savoir si leur affichage doit changer, ce qui est idiot puisque la page sera rechargée même si l'affichage n'a pas besoin d'être mis à jour. chaque page lance une petite thread vérifiant régulièrement si les données la concernant ont été modifiées. si oui, elle recharge la page.
entraine un gaspillage de ressources serveur et de connexions bd énorme (si chaque page lance une thread ou se recharge toutes les secondes...)
2) parvenir, à partir d'une page, à [b]accéder aux autres pages crées par le serveur pour les autres utilisateurs[/b] dans ce cas, il "suffit" de ne faire recharger que les pages concernées par la modif. et celles-ci ne se connecteront à la base que si elles en ont besoin. mais comment une page peut être accéder aux autres pages générées par l'application ?
par la session ? il y avait un HttpSessionContext bien utile, mais visiblement supprimé... par des streams ? ouvrir des sockets entre les pages ? ce qui implique de développer un véritable mécanisme serveur/clients... un peu lourd quand même dans ce cas je vois pas l'intéret de faire du dev internet :( par les fichiers physiques générés sur le serveur, mais ca ne permet pas de communiquer avec elles, juste de savoir qu'elles existent et éventuellement de les supprimer (bonjour les effets de bord en perspective ^^) ???
bref, si vous avez des idées elles sont les bienvenues ! ^^
cordialement
David
De toutes facons, tu ne coupes pas a un polling donc a une interrogation
de ton serveur. Ensuite, si t'as bcp de requetes indentiques a la BDD, tu peux mettre en place un cache Ma proposition "old school" (sans Ajax) : le multiframe : une frame se resoumet toutes les n secondes. Si la page a besoin d'etre rechargee, elle declenche un javascript de rechargement de la page principale. La meme "high tech" : toutes les n secondes, tu fais une requete par Javascript qui te remonte l'etat de ta page (a jour, ou pas), et suivant le resultat, la page se rafraichit ou ne fait rien