OVH Cloud OVH Cloud

Question d'architecture (JSP, bean, datasource)

13 réponses
Avatar
Adobex
Bonjour,

Mon problème est le suivant:

J'ai un site perso sur serveur Tomcat 4.1.29 accompagné de mysql.
Je souhaite utiliser le modèle MVC pour réaliser mes JSP.

Le but étant de faire une architecture propre et adaptée à l'envergure (peu
importante pour l'instant) de mon site. Ca me sert également à tester les
différentes technos...

Comme je souhaite utiliser le MVC (donc éviter le code java dans les jsp) et
me servir du pool de tomcat pour connecter mon appli à la bdd, j'aimerais
savoir quels sont les choix les plus judicieux pour organiser mes JSP, Bean
et connexions.

J'ai plusieurs pages JSP et celles-ci ont des choses à faire avec la bdd.
Donc, est-il préférable de créer un bean par JSP (en scope session) ou un
seul bean pour toutes les JSP? Le site n'est pour le moment pas gros mais
cette idée me déplait dans le sens où on mélange toutes les actions au sein
d'une même entité. Par contre, je n'ai du coup qu'une seule connexion à la
datasource (par session) et cela peut être économique en terme de
ressources.

Je pense donc qu'il y a plus judicieux de façon à éviter de tout mélanger ou
d'avoir autant de connexions à la bdd que de beans.

Quels sont vos solutions ou références en la matière?

Merci d'avance.

Adobex

3 réponses

1 2
Avatar
Arnaud Roger
"Adobex" a écrit dans le message de
news:40202764$0$2971$
Bon, on dirait que plus personne n'a de suggestion, c'est dommage...

Alors les pros, ils sont où?? Heing?


ca pourra peut etre te donner des idées


http://java.sun.com/blueprints/code/index.html#java_pet_store_demo

sinon regarde du coté de struts ou webwork

http://www.hibernate.org/159.html l'admin app

mais pas forcement besoin de ca non plus

il y a hibernate aussi, pour la gestion de la persistence, ca serait dommage
d'etre obliger de passer
par du JDBC

apres
- Action/Servlet --- fait la business logic, charge des objets. C'est
l'action ou la servlet qui gere l'acces a la base, en regle general on a une
connection par requete utilisateur. Si on veut aller plus loin il faut peut
etre regarder du coté des EJB avec les session beans
- jsp qui s'occupe de la presentation, pas de jdbc dans celle ci
- taglibs pour la logique dans les jsp

il existe aussi d'autre technique que les jsp comme
freemarker ou velocity

et perso j'ai eu une mauvaise experience avec cocoon....

Arnaud R.



"Adobex" a écrit dans le message de
news:401e70b7$0$18991$
Bonjour,

Mon problème est le suivant:

J'ai un site perso sur serveur Tomcat 4.1.29 accompagné de mysql.
Je souhaite utiliser le modèle MVC pour réaliser mes JSP.

Le but étant de faire une architecture propre et adaptée à l'envergure
(peu

importante pour l'instant) de mon site. Ca me sert également à tester
les


différentes technos...

Comme je souhaite utiliser le MVC (donc éviter le code java dans les
jsp)


et
me servir du pool de tomcat pour connecter mon appli à la bdd,
j'aimerais


savoir quels sont les choix les plus judicieux pour organiser mes JSP,
Bean

et connexions.

J'ai plusieurs pages JSP et celles-ci ont des choses à faire avec la
bdd.


Donc, est-il préférable de créer un bean par JSP (en scope session) ou
un


seul bean pour toutes les JSP? Le site n'est pour le moment pas gros
mais


cette idée me déplait dans le sens où on mélange toutes les actions au
sein

d'une même entité. Par contre, je n'ai du coup qu'une seule connexion à
la


datasource (par session) et cela peut être économique en terme de
ressources.

Je pense donc qu'il y a plus judicieux de façon à éviter de tout
mélanger


ou
d'avoir autant de connexions à la bdd que de beans.

Quels sont vos solutions ou références en la matière?

Merci d'avance.

Adobex








Avatar
Adobex
Personne ne semble pouvoir en dire davantage mais c'est pas grave, voici
quand même ma solution actuelle:

Donc dans chacune de mes JSP, actuellement je mets ça au début:

<%-- instanciation du bean récupérant la connexion
(scope session) --%>
<jsp:useBean id="dbmBean" class="com.toto.DBManagerBean" scope="session"/>

<%-- instanciation d'un bean gérant la logique de
la page (scope session) --%>
<jsp:useBean id="userInfoBean"
class="com.toto.UserInfoBean"
scope="session"/>

<%-- on informe le bean de logique de la page de quelle connexion
à la bdd il doit se servir --%>
<jsp:setProperty name="userInfoBean"
property="connection"
value="<%= dbmBean.getConnection() %>"/>



Avantage : il n'y a qu'une seule connexion à la base de données par session
(sur le pool de Tomcat)
Inconvénient : la jsp a connaissance de la connexion sql dont elle n'a que
faire

Objectif : laisser les beans de logique de page se fournir tout seul en
connexion mais uniquement quand c'est nécessaire, c'est à dire pour moi,
lorsque il y a création de session.

Des solutions adapatées à me proposer?


"Adobex" a écrit dans le message de
news:40202764$0$2971$
Bon, on dirait que plus personne n'a de suggestion, c'est dommage...

Alors les pros, ils sont où?? Heing?




"Adobex" a écrit dans le message de
news:401e70b7$0$18991$
Bonjour,

Mon problème est le suivant:

J'ai un site perso sur serveur Tomcat 4.1.29 accompagné de mysql.
Je souhaite utiliser le modèle MVC pour réaliser mes JSP.

Le but étant de faire une architecture propre et adaptée à l'envergure
(peu

importante pour l'instant) de mon site. Ca me sert également à tester
les


différentes technos...

Comme je souhaite utiliser le MVC (donc éviter le code java dans les
jsp)


et
me servir du pool de tomcat pour connecter mon appli à la bdd,
j'aimerais


savoir quels sont les choix les plus judicieux pour organiser mes JSP,
Bean

et connexions.

J'ai plusieurs pages JSP et celles-ci ont des choses à faire avec la
bdd.


Donc, est-il préférable de créer un bean par JSP (en scope session) ou
un


seul bean pour toutes les JSP? Le site n'est pour le moment pas gros
mais


cette idée me déplait dans le sens où on mélange toutes les actions au
sein

d'une même entité. Par contre, je n'ai du coup qu'une seule connexion à
la


datasource (par session) et cela peut être économique en terme de
ressources.

Je pense donc qu'il y a plus judicieux de façon à éviter de tout
mélanger


ou
d'avoir autant de connexions à la bdd que de beans.

Quels sont vos solutions ou références en la matière?

Merci d'avance.

Adobex








Avatar
Adobex
Ok, donc l'idée c'est de ne pas s'embêter à créer sa propre implémentation
d'architecture mais plutôt d'utiliser des technos existantes, quitte à
mettre en place des moyens plus lourds.

Bon je prends note de tout cela et je te remercie pour les liens.


"Arnaud Roger" a écrit dans le message de
news:402125ff$1$275$

"Adobex" a écrit dans le message de
news:40202764$0$2971$
Bon, on dirait que plus personne n'a de suggestion, c'est dommage...

Alors les pros, ils sont où?? Heing?


ca pourra peut etre te donner des idées


http://java.sun.com/blueprints/code/index.html#java_pet_store_demo

sinon regarde du coté de struts ou webwork

http://www.hibernate.org/159.html l'admin app

mais pas forcement besoin de ca non plus

il y a hibernate aussi, pour la gestion de la persistence, ca serait
dommage

d'etre obliger de passer
par du JDBC

apres
- Action/Servlet --- fait la business logic, charge des objets. C'est
l'action ou la servlet qui gere l'acces a la base, en regle general on a
une

connection par requete utilisateur. Si on veut aller plus loin il faut
peut

etre regarder du coté des EJB avec les session beans
- jsp qui s'occupe de la presentation, pas de jdbc dans celle ci
- taglibs pour la logique dans les jsp

il existe aussi d'autre technique que les jsp comme
freemarker ou velocity

et perso j'ai eu une mauvaise experience avec cocoon....

Arnaud R.



"Adobex" a écrit dans le message de
news:401e70b7$0$18991$
Bonjour,

Mon problème est le suivant:

J'ai un site perso sur serveur Tomcat 4.1.29 accompagné de mysql.
Je souhaite utiliser le modèle MVC pour réaliser mes JSP.

Le but étant de faire une architecture propre et adaptée à l'envergure
(peu

importante pour l'instant) de mon site. Ca me sert également à tester
les


différentes technos...

Comme je souhaite utiliser le MVC (donc éviter le code java dans les
jsp)


et
me servir du pool de tomcat pour connecter mon appli à la bdd,
j'aimerais


savoir quels sont les choix les plus judicieux pour organiser mes JSP,
Bean

et connexions.

J'ai plusieurs pages JSP et celles-ci ont des choses à faire avec la
bdd.


Donc, est-il préférable de créer un bean par JSP (en scope session) ou
un


seul bean pour toutes les JSP? Le site n'est pour le moment pas gros
mais


cette idée me déplait dans le sens où on mélange toutes les actions au
sein

d'une même entité. Par contre, je n'ai du coup qu'une seule connexion
à



la
datasource (par session) et cela peut être économique en terme de
ressources.

Je pense donc qu'il y a plus judicieux de façon à éviter de tout
mélanger


ou
d'avoir autant de connexions à la bdd que de beans.

Quels sont vos solutions ou références en la matière?

Merci d'avance.

Adobex












1 2