6
Atelier 1 J2EE SMI6 & LP2i Karim AFDEL 1 Atelier 1 A- Traitement de formulaire avec JSP Note : Les outils utilisés dans cet atelier : Eclipse Europe qui a l'avantage d'être pré-configuré pour créer des projets J2EE. A- Traitement de formulaire avec JSP Code source de ce formulaire : <HTML> <HEAD> <TITLE>Un simple test avec JSP</TITLE> </HEAD> <BODY> <H1>Un simple test avec JSP</H1> Cette page montre comment faire un simple test avec JHTML. Remplissez le formulaire suivant SVP: <P> <hr> <form action="calcul.jsp" method="post"> Ton nom ? <INPUT TYPE="text" NAME="nom" MAXLENGTH="50"> <br> Quelles sont vos connaissances de HTML ? <input type="radio" name="choice" value="1" checked>faibles <input type="radio" name="choice" value="2">moyennes <input type="radio" name="choice" value="3">bonnes <br> Indiquez votre expertise en programmation: <input type="radio" name="choice2" value="1" checked>absente <input type="radio" name="choice2" value="2">moyenne <input type="radio" name="choice2" value="3">bonne <P> <input type="submit" value="Voir le résultat!"> </form><hr> </BODY></HTML>

SSerie1JavaAnvancé_partie1

Embed Size (px)

DESCRIPTION

SSerie1JavaAnvancé_partie1

Citation preview

Page 1: SSerie1JavaAnvancé_partie1

Atelier 1 J2EE  SMI6 & LP2i                                                                                            Karim AFDEL 

 

Atelier 1

A- Traitement de formulaire avec JSP

Note : Les outils utilisés dans cet atelier :

Eclipse Europe qui a l'avantage d'être pré-configuré pour créer des projets J2EE.

A- Traitement de formulaire avec JSP

Code source de ce formulaire :

<HTML> <HEAD> <TITLE>Un simple test avec JSP</TITLE> </HEAD> <BODY> <H1>Un simple test avec JSP</H1> Cette page montre comment faire un simple test avec JHTML. Remplissez le formulaire suivant SVP: <P> <hr> <form action="calcul.jsp" method="post"> Ton nom ? <INPUT TYPE="text" NAME="nom" MAXLENGTH="50"> <br> Quelles sont vos connaissances de HTML ? <input type="radio" name="choice" value="1" checked>faibles <input type="radio" name="choice" value="2">moyennes <input type="radio" name="choice" value="3">bonnes <br> Indiquez votre expertise en programmation: <input type="radio" name="choice2" value="1" checked>absente <input type="radio" name="choice2" value="2">moyenne <input type="radio" name="choice2" value="3">bonne <P> <input type="submit" value="Voir le résultat!"> </form><hr> </BODY></HTML>

Page 2: SSerie1JavaAnvancé_partie1

Atelier 1 J2EE  SMI6 & LP2i                                                                                            Karim AFDEL 

 

Le fichier JSP permettant de traiter ce formulaire :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>Un simple test avec JHMTL (calcul des résultats)</TITLE> </HEAD> <BODY> <H1>Un simple test avec JHMTL (calcul du résultat)</H1> <hr> <%

// Parameters come as strings String choice = request.getParameter("choice"); String choice2 = request.getParameter("choice2"); String nom = request.getParameter("nom"); out.println(nom + ", votre input était: question a=" + choice + " ,question b=" + choice2); // Integer.parseInt() translates a string to an Integer int score = Integer.parseInt(choice) + Integer.parseInt(choice2); out.println("<h3>Votre score est de " + score + "</h3>"); if (score < 3) { out.print ("<p>Vous êtes un débutant</p>"); } else if (score < 5) {out.print ("<p>Vous avez un niveau moyen</p>"); } else { out.print ("<p>Vous êtes un expert !</p>");} %> <hr> </BODY></HTML>

Pour le déploiement du projet dans Eclipse :

1- Créer un projet Web Dynamique TP_JSP 2- Créer un fichier HTML en utilisant new HTML : formulaire.html 3- Créer un fichier JSP en utilisant new JSP: calcul.jsp

4- Le fichier JSP a besoin d'un moteur d'exécution Container Tomat: pour cela cliquez sur le projet TP_formulaire-> File->Other-> server-> tomacat5.5>-> deployer TP_JSP

5- Lancer le serveur Apache Tomacat

Page 3: SSerie1JavaAnvancé_partie1

Atelier 1 J2EE  SMI6 & LP2i                                                                                            Karim AFDEL 

 

6- Sélectionner formulaire -> run server-

>

Travail à faire:

1- Modifier le formulaire de la manière suivante :

Nom :

Prénom :

Age :

Tel:

2- Modifier le fichier jsp de telle manière qu'il permet de saisir les données des champs de saisies : Nom, prénom, age et Tel et de les afficher sur page HTML.

3- Déployer l'application en utilisant Eclipse.

B- Connexion à la base de données avec JSP

Api JDBC

L'API (Application Programming Interface) JDBC, c'est-à-dire la bibliothèque de classes JDBC, se charge de trois étapes indispensables à la connexion à une base de données :

• la création d'une connexion à la base • l'envoi d'instructions SQL • l'exploitation des résultats provenant de la base

[Tapez une citation prise dans le 

[Tapez une citation prise dans le 

[Tapez une citation prise dans le 

[Tapez une citation prise dans le 

Page 4: SSerie1JavaAnvancé_partie1

Atelier 1 J2EE  SMI6 & LP2i                                                                                            Karim AFDEL 

 

Le package java.sql.*

Tous les objets et les méthodes relatifs aux bases de données sont présents dans le package java.sql, il est donc indispensable d'importer java.sql.* dans tout programme se servant de la technologie JDBC.

Le package java.sql contient les éléments suivants :

Classes Interfaces Exceptions

Date DriverManager DriverPropertyInfo Time Timestamp Types

Array Blob CallableStatement Clob Connection DatabaseMetaData Driver PreparedStatement Ref ResultSet ResultSetMetaData SQLData SQLInput SQLOutput Statement Struct

BatchUpdateException DataTruncation SQLException SQLWarning

Connexion à la base de données

Pour se connecter à une base de données il est essentiel de charger dans un premier temps le pilote de la base de données à laquelle on désire se connecter grâce à un appel au DriverManager (gestionnaire de pilotes) :

Class.forName("nom.de.la.classe");

Cette instruction charge le pilote et crée une instance de cette classe. Pour se connecter à une base de données déclarée dans l'administrateur ODBC par exemple, il faut charger le pilote JDBC-ODBC (appelé pont JDBC-ODBC) :

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Certains compilateurs refusant cette notation, il faut parfois appeler le driver de la façon suivante : Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();

Pour se connecter à une base de données particulière, il s'agit ensuite de créer une instance de la classe Connection grâce à la méthode getConnection de l'objet DriverManager en indiquant la base de données à charger à l'aide de son URL

String url = "jdbc:odbc:base_de_donnees";

Page 5: SSerie1JavaAnvancé_partie1

Atelier 1 J2EE  SMI6 & LP2i                                                                                            Karim AFDEL 

 

Connection con = DriverManager.getConnection(url); Le nom de la base de données (ici base_de_donnees) étant celle déclarée dans le panneau de configuration ODBC, c'est-à-dire le nom du DSN. La syntaxe de l'URL peut varier légèrement selon le type de la base de données. Il s'agit généralement d'une adresse de la forme : jdbc:sousprotocole:nom

Atelier Créer une base de données avec EasyPHP "atelier1" Créer une table personne avec 3 champs nom, prénom et age. Remplir la table avec des valeurs Par exemple : Taha Mohamed 18 Charifie Mourad 45 Amir Moussa 17 Ecrire une Servlet permettant de connecter la base de données Déployer ce projet WebDynamique en utilisant Eclipse. Respecter la hiérarchie des fichiers ci-dessous:

import java.io.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; public class DBServlet extends HttpServlet {private static final long serialVersionUID = 1L; private Connection con; private PrintWriter out; public void init(ServletConfig conf) throws ServletException {super.init(conf); try {Class.forName("com.mysql.jdbc.Driver");

Page 6: SSerie1JavaAnvancé_partie1

Atelier 1 J2EE  SMI6 & LP2i                                                                                            Karim AFDEL 

 

con =DriverManager.getConnection ("jdbc:mysql://localhost:3306/atelier1", "root", "");} catch(Exception e) {System.out.println(e);}} public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {res.setContentType("text/html"); try {out = res.getWriter(); out.println("<html><head><title>"); out.println("JDBC Servlet"); out.println("</title></head><body>"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM personne"); out.println("<UL>"); while(rs.next()) {out.println("<LI>" + rs.getString("nom"));} out.println("</UL>"); rs.close(); stmt.close();} catch(SQLException e) {out.println("Exception SQL");} catch(IOException e) {} out.println("</body></html>"); out.close();} public void destroy() {try {con.close();} catch(SQLException e){;}}}