IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Gestion des utilisateurs et accès base de données


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Gestion des utilisateurs et accès base de données
    Bonjour à tous!

    J'ai repris une application faite par un autre sous Tomcat faisant appel à une base de données Access et je voudrais l'améliorer.

    Je vous explique mon problème: J'ai des pages JSP, et des classes Java, dont la plupart ne sont pas des Servlets. L'utilisateur se connecte sur le site, et son nom est stocké dans la session. Ensuite, il peut aller sur la page de recherche "search.jsp", qui propose un formulaire de recherche qui fait appel à cette même page lors de l'envoi (action=""). Voici la récupération du paramètre et le questionnement de la base:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	BaseDonnees b = Serveur.renvoieBase();
     
    	String search=request.getParameter("monTexte");
    	Array result = null;
     
    	if(search!=null && !search.isEmpty())
    		result = b.search(search) ;
    La classe Serveur(pas servlet) contient une variable privée "base" contenant une instance de BaseDonnees(pas servlet) et une variable privée user contenant le nom de l'utilisateur. Serveur.renvoieBase() retourne sa variable "base".

    La classe BaseDonnees contient également une variable "user" et un tableau de BaseDonnees[] (je n'en vois pas l'intérêt).

    Enfin, la page JSP ayant récupéré l'instance de BaseDonnees, elle appelle la méthode search() chargée d'envoyer la requête à la base de données avec JDBC avec le mot à rechercher.

    Le problème est que je voudrais récupérer dans BaseDonnees la session de l'utilisateur qui a envoyé la requête car je veux utiliser son nom en paramètre dans les requêtes à la base de données sans avoir à le spécifier en paramètre de chaque méthode, car j'ai plus de 50 méthodes dans cette classe ???

    Merci de votre aide,

    Pierre

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Je viens d'avoir une idée: Instancier dans la page search.jsp une nouvelle instance de BaseDonnees en passant en paramètre au constructeur (HttpServletRequest req).

    Comme ça mon instance de BaseDonnees connait la session, mais j'ai peur que ça ne soit trop LOURD de recréer une instance pour chaque requête de chaque utilisateur? Qu'en pensez-vous?

  3. #3
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Attention! Tu es entrain de coupler fortement tes pages avec la base de données.

    Je te recommande de lire quelques articles sur le modèle MVC (Modèle Vue Controler). Ce modèle permet de faire un découpage en couche de ton application et de l'architecturer.

    Il faudrait que dans la servlet (si il n'y en pas, il faudrait la créer) tu accèdes à ta session que tu extraits l'information concernant l'utilisateur; Ensuite que tu appelles tu utilises ton objet base de données en lui passant en paramètre l'information sur l'utilisateur.

    Il faut avoir à l'esprit qu'un JSP ne sert qu'a afficher des informations; aucune référence directe ne doit apparaitre dans JSP (une JSP = Vue du modèle MVC)

    J'espère que cela t'aidera, si tu as des questions n'hésite pas!

Discussions similaires

  1. Gestion des utilisateurs : active directory & base de données
    Par Ragnarock dans le forum ASP.NET MVC
    Réponses: 2
    Dernier message: 26/08/2011, 09h38
  2. Réponses: 1
    Dernier message: 29/08/2009, 09h44
  3. Gestion des connexions avec la base de donnée
    Par lr dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 11/02/2009, 03h47
  4. [TSQL] Nom des utilisateurs d'une base de données
    Par Cyborg289 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/01/2008, 14h10
  5. [Conception] Gestion des accents dans une base de données
    Par MiJack dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/07/2005, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo