Exercices dirigés n°6

publicité
ED n°6
Exercices dirigés n°6
Générer le formulaire HTML qui produit cette page (balise form)
Coder la méthode doGet de la servlet Boutique qui récupère la valeur du paramètre sélectionné
par la question précédente et l'affiche en résultat
Coder la servlet Blog qui récupère un nom et un mot de passe à partir d'un formulaire puis les
compare aux valeurs initiales de la servlet (dans le web.xml). Au cas où elles sont identiques, on
considère que l'utilisateur est authentifié, une page HTML est créée par la servlet qui propose une
zone de texte de 5 lignes et 40 colonnes et un bouton de validation.
En résumé, il faut créer un premier formulaire puis la partie utile du du web.xml, puis la servlet
Blog qui affiche la nouvelle page.
Etant donnée la base de données bd-cocktails constituée de la table :
cocktail (nom,alcool,proportionAlcool,soda,jus,proportionJus)
Supposons connu le bean Cocktail constitué de ses "getters" et "setters" et d'un constructeur avec
initialisation :
public Cocktail(String nom,String alcool,int proportionAlcool,
String soda,String jus,int proportionJus) {
this.alcool = alcool;
this.proportionAlcool = proportionAlcool;
this.soda = soda;
this.jus = jus;
this.proportionJus = proportionJus;
}
En utilisant les PreparedStatement pour constituer les requêtes SQL, compléter la classe
DAOCocktail dont le rôle est de transmettre des requêtes SQL à la base de données :
import
import
import
import
import
import
import
import
beans.Cocktail;
java.sql.Connection;
java.sql.ResultSet;
java.sql.PreparedStatement;
java.sql.SQLException;
java.util.logging.Level;
java.util.logging.Logger;
javax.servlet.UnavailableException;
public class DAOCocktail {
private PreparedStatement pSmt = null;
private ResultSet rs = null;
private Connection dbcon;
1
ED n°6
public DAOCocktail() throws UnavailableException{
try {
dbcon = new DAOConnexion().getConnexion();
} catch (SQLException ex) {
Logger.getLogger(DAOCocktail.class.getName()).log(Level.SEVERE,null,ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(DAOCocktail.class.getName()).log(Level.SEVERE,null,ex);
}
}
public Cocktail select( String nom )throws SQLException{
… … …
}
public void insert( Cocktail cocktail ) throws SQLException{
… … …
}
public void update( Cocktail cocktail ) throws SQLException{
… … …
}
public void delete( String nom ) throws SQLException{
… … …
}
}
Supposons connu le bean Cocktails :
public class Cocktails {
Hashtable<String,Cocktail> liste;
public Cocktails(){
liste = new Hashtable<String,Cocktail>();
}
public Hashtable<String, Cocktail> getListe() {
return liste;
}
public void setListe(Hashtable<String, Cocktail> liste) {
this.liste = liste;
}
public void ajouterCocktail( Cocktail cocktail ){
liste.put(cocktail.getNom(),cocktail);
}
}
En utilisant les PreparedStatement pour constituer la requête SQL, compléter la méthode
select de la classe DAOCocktails dont le rôle est de transmettre des requêtes SQL à la base de
données :
// retourne les cocktails contenant un alcool donné
public Cocktails select( String alcool )throws SQLException{... … … }
2
Téléchargement