Partage
  • Partager sur Facebook
  • Partager sur Twitter

JSP et base de données

Netbeans

    30 décembre 2008 à 1:43:19

    Bonjour,
    voilà je suis débutante et je veux faire un formulaire avec JSP, mais je sai pa comment faire pour acceder à ma base de données Mysql ni comment faire pour recuperer les données , alors pouvez vous m'aider ?
    merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      30 décembre 2008 à 10:01:25

      On peut directement instancier des beans dans une JSP cependant c'est pas terrible, il est préférable de séparer la logique présentation des accès data.

      Le plus simple reste d'appeler une classe logique qui se chargera de récupérer tes données selon tes critères puis de les injecter dans une JSP.

      un petit exemple (c'est fait avec Struts2/Spring/Hibernate, un peu différent de ce que tu aura à implémenter donc): La récupération des news et l'affichage sur la page

      La JSP:
      <s:iterator value="newsList" status="news">
          		<div class="block">
          		<div class="title">
          			<h2><img src="_img/arrow.png" alt="arrow" /> 
          			<s:property value="title" /></h2>
          		<h3><s:text name="texte.by" /> <s:property value="author" /> <s:text name="texte.the" /> 
              		<s:property value="dateCopy" />
          		</h3>
      
          		</div>
          		<div class="newscontent">
              		<s:property value="content" escape="false"/>
          		</div>
              	<br />
          		</div>
      		</s:iterator>
      


      La classe qui appelle la logique (ce sera une Servlet dans ton cas

      public class Home extends BaseAction {
      ...
          @Autowired
          private transient AdministrationService administrationService;
      
          private List < News > newsList;
      
          @Override
          public String execute() throws ActionException {
              this.newsList = this.administrationService.getNews();
              ...
          }
      ...
      }
      


      La classe contenant la logique (une classe java tout ce qu'il y a de plus classique):

      @Service
      public class AdministrationService {
      
          @Resource
          private NewsDao newsDao;
      
          @Transactional
          public List < News > getNews() {
              return newsDao.getNewsByDate();
          }
      ...
      }
      

      Et enfin le DAO qui va chercher les données en DB:
      @Repository
      public class NewsDao extends BaseDao {
          @SuppressWarnings("unchecked")
          public List < News > getNewsByDate() {
              return this.getEm().createQuery(
                      "FROM News news ORDER BY news.date DESC")
                      .setMaxResults(5)
                      .getResultList();
          }
      }
      


      En résumé pour toi la servlet appelle une classe java qui va chercher dans la DB, rempli une liste, et la JSP de response pourra utiliser cette liste.
      • Partager sur Facebook
      • Partager sur Twitter

      JSP et base de données

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown